Metadata-Version: 2.4
Name: fastapi-rbac-scaffold
Version: 0.1.1
Summary: A FastAPI project scaffold generator with multi-tenant RBAC.
Author: Chaojun Fu
License-Expression: MIT
License-File: LICENSE
Keywords: fastapi,multi-tenant,rbac,scaffold,sqlalchemy
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Framework :: FastAPI
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Requires-Python: >=3.12
Provides-Extra: dev
Requires-Dist: build>=1.2.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: twine>=5.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# fastapi-rbac-scaffold

A PyPI-ready scaffold generator for creating FastAPI services with async SQLAlchemy, Redis, JWT authentication, and multi-tenant RBAC.

## Usage

```bash
pip install fastapi-rbac-scaffold
fastapi-rbac-scaffold new acme-api
cd acme-api
copy .env.example .env
docker compose up -d postgres redis
pip install -e ".[dev]"
alembic upgrade head
app-seed-iam
app-bootstrap --username admin --password change-me --email admin@example.com
uvicorn app.main:app --reload
```

## Layout

```text
src/fastapi_rbac_scaffold/
  cli/          # Command-line entrypoints
  generator/    # Project generation logic
  templates/    # Files copied into generated FastAPI projects
```

The generated FastAPI application template lives under:

```text
src/fastapi_rbac_scaffold/templates/fastapi_app/
```

## Generated App

The generated application includes:

- FastAPI app factory and lifespan
- async SQLAlchemy setup
- Redis lifecycle management
- Alembic initial IAM migration
- JWT login, refresh, logout, and `/me`
- multi-tenant RBAC models
- permission dependency helpers
- IAM tenant/user/role/permission/plan API skeletons
