Metadata-Version: 2.4
Name: gigaplate
Version: 0.1.2
Summary: Python project template generator
Project-URL: Homepage, https://github.com/dager/gigaplate
Project-URL: Repository, https://github.com/dager/gigaplate
Author-email: Yurii Yurtsiv <mryurtsiv@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: aiogram,fastapi,generator,sqlalchemy,template
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.12
Requires-Dist: click>=8.0
Requires-Dist: jinja2>=3.0
Provides-Extra: dev
Requires-Dist: mypy>=1.5; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.1; extra == 'dev'
Description-Content-Type: text/markdown

# Gigaplate

[![PyPI version](https://img.shields.io/pypi/v/gigaplate)](https://pypi.org/project/gigaplate/)

Python project template generator with modular architecture.

## Installation

```bash
pip install gigaplate
# or
pipx install gigaplate
# or
uv tool install gigaplate
```

## Usage

```bash
# Base project only
gigaplate my_project

# With FastAPI
gigaplate my_project --fastapi

# FastAPI + SQLAlchemy + Redis
gigaplate my_project --fastapi --sqlalchemy --redis

# Aiogram bot with database
gigaplate my_project --aiogram --sqlalchemy --redis

# Using short flags
gigaplate my_project -f -s -r

# Using comma-separated list
gigaplate my_project -- fastapi,sqlalchemy,redis
```

## Available Modules

| Module | Flag | Description |
|--------|------|-------------|
| FastAPI | `--fastapi`, `-f` | REST API with FastAPI |
| SQLAlchemy | `--sqlalchemy`, `-s` | Async SQLAlchemy + Alembic |
| Redis | `--redis`, `-r` | Redis connection |
| Aiogram | `--aiogram`, `-a` | Telegram bot with aiogram |
| CLI | `--cli`, `-c` | Click CLI interface |

## Module Interactions

- **FastAPI + SQLAlchemy**: Adds session dependency injection
- **Aiogram + SQLAlchemy**: Adds session/user middlewares, user model
- **SQLAlchemy + Redis**: Reorganizes db folder (`db/sql/`, `db/redis/`)
- **FastAPI + Aiogram**: Not allowed (mutually exclusive)

## Generated Project Structure

```
my_project/
├── my_project/
│   ├── __init__.py
│   ├── config.py
│   ├── main.py / app.py
│   ├── controllers/
│   ├── middlewares/
│   ├── db/
│   └── utils/
├── config/
├── migrations/          # if sqlalchemy
├── Taskfile.yaml
├── docker-compose.yaml
├── pyproject.toml
└── CLAUDE.md
```

## License

MIT
