Metadata-Version: 2.1
Name: racerapi
Version: 0.0.6
Summary: Production-grade FastAPI modular monolith
Author-email: "Mr. Prathamesh More" <iamprathamshmore07@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/your-org/racerapi
Project-URL: Documentation, https://github.com/your-org/racerapi#readme
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Framework :: FastAPI
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: fastapi==0.115.6
Requires-Dist: uvicorn[standard]==0.32.1
Requires-Dist: sqlalchemy==2.0.36
Requires-Dist: pydantic==2.10.3
Requires-Dist: pydantic-settings==2.6.1
Requires-Dist: typer[all]==0.10.0
Requires-Dist: alembic==1.11.1
Requires-Dist: email-validator==2.2.0
Provides-Extra: dev
Requires-Dist: pytest==8.3.4; extra == "dev"
Requires-Dist: pytest-cov==6.0.0; extra == "dev"
Requires-Dist: httpx==0.28.1; extra == "dev"
Requires-Dist: black==24.10.0; extra == "dev"
Requires-Dist: ruff==0.8.6; extra == "dev"
Requires-Dist: mypy==1.13.0; extra == "dev"
Requires-Dist: pre-commit==4.0.1; extra == "dev"
Requires-Dist: python-dotenv==1.0.1; extra == "dev"

# RacerAPI

Production-grade FastAPI modular monolith baseline.

## Architecture

- FastAPI (no framework wrapping)
- Domain modules in `src/racerapi/modules`
- Layering: API -> Service -> Repo -> DB
- FastAPI `Depends` for DI
- No cross-module imports

## Quick Start

```bash
python -m venv .venv
.venv\Scripts\activate
pip install -e .
```

Run the application:

```bash
python -m racerapi.main
```

Health check:

```bash
curl http://127.0.0.1:8000/health
```

## Release Validation Commands

```bash
python -m pytest -q
python -m ruff check src tests
python scripts/check_architecture.py
```

## Environment

Copy `.env.example` to `.env` and adjust values for your environment.

Key variables:

- `RACERAPI_ENV=dev|test|prod`
- `RACERAPI_DATABASE_URL=...`
- `RACERAPI_LOG_LEVEL=INFO`
- `RACERAPI_DEBUG=false`
