Skip to main content

A multi-tenancy solution for FastAPI (database-per-tenant, schema-per-tenant, and row-level-tenants strategies).

Project description


fastapi-tenants

A multi-tenancy solution for FastAPI with support for database-per-tenant, schema-per-tenant, and row-level tenancy strategies.


✨ Features

  • Flexible strategies → database-per-tenant, schema-per-tenant, row-level.
  • Tenant-aware middleware → resolve tenant from headers, subdomains, or tokens.
  • DB session management → per-tenant scoped sessions.
  • Pluggable design → extend strategies or authentication as needed.
  • FastAPI-first → built for dependency injection and async support.

📦 Installation

pip install fastapi-tenants

Optional extras:

pip install "fastapi-tenants[postgres]"
pip install "fastapi-tenants[mysql]"

🚀 Quick Start

from fastapi import FastAPI, Depends
from fastapi_tenants import TenancyMiddleware, get_tenant_session

app = FastAPI()

# Enable tenancy
app.add_middleware(
    TenancyMiddleware,
    strategy="schema",   # or "database", "row"
    header="X-Tenant-ID"
)

@app.get("/users")
def list_users(session = Depends(get_tenant_session)):
    return session.query(User).all()

📚 Roadmap

  • Schema-based tenancy ✅
  • Database-per-tenant support
  • Row-level tenancy
  • Multi-backend support (Postgres, MySQL, SQLite)
  • Example apps & docs

🤝 Contributing

Contributions are welcome! Check out CONTRIBUTING.md (coming soon).


📜 License

MIT License © 2025 Kapil Dagur


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi_tenants-0.0.1.tar.gz (2.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastapi_tenants-0.0.1-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_tenants-0.0.1.tar.gz.

File metadata

  • Download URL: fastapi_tenants-0.0.1.tar.gz
  • Upload date:
  • Size: 2.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for fastapi_tenants-0.0.1.tar.gz
Algorithm Hash digest
SHA256 8af52d83c1f74b556ddf36d2ca2b86ef68f43c585f4674594d397081c687fb98
MD5 4fb9bfb785b16e8ca576f52444892be9
BLAKE2b-256 9296fbe441ae70384af12f2bbdfedbd179b537465174bb3748f8449722db4629

See more details on using hashes here.

File details

Details for the file fastapi_tenants-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_tenants-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2e616ba8cd7a14a3b1ff5d8578e9f31af21ee7cbc72d4672d6abbd283ad6e9cb
MD5 432196216244f10c5cfea9ef1417b817
BLAKE2b-256 9753cdeb0c514e0d8c5f835c68a323d22305d59a2a22364002d53b2f70108fa3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page