Metadata-Version: 2.4
Name: okepy
Version: 0.2.0
Summary: The Python equivalent of create-vite: an interactive, modular, plugin-driven CLI that scaffolds production-ready Python backend projects.
Project-URL: Homepage, https://github.com/okepy/okepy
Project-URL: Repository, https://github.com/okepy/okepy
Project-URL: Documentation, https://github.com/okepy/okepy#readme
Author: okepy contributors
License: MIT
License-File: LICENSE
Keywords: boilerplate,cli,django,fastapi,flask,generator,scaffold,vite
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.10
Requires-Dist: jinja2>=3.1
Requires-Dist: pydantic>=2.6
Requires-Dist: questionary>=2.0
Requires-Dist: rich>=13.7
Requires-Dist: tomlkit>=0.12
Requires-Dist: typer>=0.12
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Description-Content-Type: text/markdown

<p align="center">
  <img src="https://img.shields.io/badge/Python-3.10%2B-blue" alt="Python 3.10+">
  <img src="https://img.shields.io/badge/License-MIT-green" alt="MIT License">
  <img src="https://img.shields.io/badge/Framework-Django-success" alt="Django">
  <img src="https://img.shields.io/badge/Framework-FastAPI-informational" alt="FastAPI">
  <img src="https://img.shields.io/badge/Framework-Flask-lightgrey" alt="Flask">
</p>

# okepy

Scaffolds production-ready Python backend projects with an interactive wizard. Think `create-vite` for Python — no more copy-pasting boilerplate.

```bash
uvx okepy create
```

## 1. Install

```bash
pip install okepy
```

No install needed:
```bash
uvx okepy create
pipx run okepy create
```

## 2. Create a project

Run the wizard:
```bash
okepy create
```

Pick your framework, database, auth methods, and features from the prompts. The CLI generates a complete project with a virtual environment, dependencies installed, and everything wired together.

Skip the prompts for scripting or CI:
```bash
okepy create --name myapi --framework django --type api --defaults
```

Available flags:
- `--framework` — `django`, `fastapi`, `flask`
- `--type` — `api`, `ssr`, `hybrid`
- `--database` — `sqlite`, `postgres`
- `--deploy` — `none`, `docker`
- `--with` — feature flags like `auth`, `jwt`, `postgres`, `celery`, `docker`, `s3`, `social`, and more
- `--defaults` — skip all prompts with sensible defaults
- `--force` — overwrite existing directory

## 3. Run it

```bash
cd myapi
source .venv/bin/activate
cp .env.example .env
python manage.py migrate
python manage.py runserver
```

Your API is live at `http://localhost:8000`.

---

## Features

| Category | Features |
|----------|----------|
| Auth | Email/password, JWT, refresh tokens, Google OAuth, GitHub OAuth, magic link, OTP |
| Database | PostgreSQL, SQLite |
| Infrastructure | Redis, Celery, Docker |
| Storage | AWS S3, Cloudinary |
| Docs | Swagger, ReDoc |
| Quality | Pytest, logging, GitHub Actions |

Pass any combination: `okepy create --with auth --with jwt --with docker --with s3`

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md).

## License

MIT
