Installation
Requirements
- Python 3.10 or higher
- FastAPI ≥ 0.115.0
Core package
Install the core package with pip:
pip install casbin-fastapi-decorator
Or with uv:
uv add casbin-fastapi-decorator
Optional extras
The core package is intentionally minimal. Install only what you need:
File-based policies with hot-reload
Adds CachedFileEnforcerProvider - caches the Casbin enforcer loaded from
model.conf and policy.csv, and reloads it automatically when either file
changes.
pip install "casbin-fastapi-decorator[file]"
JWT authentication
Adds JWTUserProvider — extracts and validates JWT tokens from Bearer headers or cookies.
pip install "casbin-fastapi-decorator[jwt]"
Database policies
Adds DatabaseEnforcerProvider - loads policies from a SQLAlchemy async
session, caches the enforcer, and hot-reloads when model.conf or database
rows change.
pip install "casbin-fastapi-decorator[db]"
Casdoor integration
Adds CasdoorIntegration and related helpers for Casdoor OAuth2 login, cookie-based authentication, and remote policy enforcement.
pip install "casbin-fastapi-decorator[casdoor]"
Install everything
pip install "casbin-fastapi-decorator[file,jwt,db,casdoor]"
Dependencies
The core package depends on:
| Package | Version | Purpose |
|---|---|---|
fastapi | ≥ 0.115.0 | Web framework |
fastapi-decorators | ≥ 0.5.0 | Decorator injection mechanism |
casbin | ≥ 1.36.0 | Policy enforcement engine |