Metadata-Version: 2.4
Name: kraf
Version: 0.1.0
Summary: Interactive Python web project initializer for Django, Django REST Framework, and FastAPI.
Requires-Python: >=3.11
Requires-Dist: jinja2>=3.1.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: questionary>=2.1.0
Requires-Dist: typer>=0.12.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.5.0; extra == 'dev'
Description-Content-Type: text/markdown

# kraf

Interactive Python web project initializer for Django, Django REST Framework, and FastAPI.

## Install

```bash
pipx install kraf
```

## Usage

```bash
kraf init
```

The CLI asks for:

- Project name
- Project type: Django, Django with DRF, or FastAPI
- Database: no database, SQLite, or PostgreSQL
- FastAPI ORM and migration choices
- Tooling choices: pytest, Ruff, and Docker

Generated projects include:

- `Makefile`
- `.env.example`
- `.gitignore`
- `README.md`
- Runtime dependencies in `requirements.txt`
- Development dependencies in `requirements-dev.txt`

Common generated commands:

```bash
make venv
make install
make run
make test
make lint
make format
make migrate
```

## Development

```bash
python -m venv .venv
. .venv/bin/activate
pip install -e ".[dev]"
pytest
ruff check src tests
```
