[project] name = "fastapi_best_architecture" description = """ A RBAC (Role-Based Access Control) permission control system built on FastAPI, featuring a unique pseudo-three-tier architecture design, with built-in basic implementation of fastapi admin as a template library, free and open-source. """ authors = [ { name = "Wu Clan", email = "jianhengwu0407@gmail.com" }, ] readme = "README.md" license = { text = "MIT" } requires-python = ">=3.10" dynamic = ['version'] dependencies = [ "alembic>=1.16.5", "asgiref>=3.10.0", "asyncmy>=0.2.10", "asyncpg>=0.30.0", "bcrypt>=5.0.0", "cappa>=0.30.2", "celery>=5.5.3", # When celery version < 6.0.0 # https://github.com/celery/celery/issues/7874 "celery-aio-pool>=0.1.0rc8", "cryptography>=46.0.2", "dulwich>=0.24.2", "fast-captcha>=0.3.2", "fastapi-limiter>=0.1.6", "fastapi-pagination>=0.14.3", "fastapi[standard-no-fastapi-cloud-cli]>=0.119.0", "flower>=2.0.1", "gevent>=25.9.1", "granian>=2.5.5", "ip2loc>=1.0.0", "itsdangerous>=2.2.0", "jinja2>=3.1.6", "loguru>=0.7.3", "msgspec>=0.19.0", "psutil>=7.1.0", "psycopg[binary]>=3.2.10", "pwdlib>=0.2.1", "pydantic>=2.12.1", "pydantic-settings>=2.11.0", "pymysql>=1.1.2", "python-jose>=3.5.0", "python-socketio>=5.14.1", "redis[hiredis]>=6.4.0", "rtoml>=0.12.0", "sqlalchemy-crud-plus>=1.12.1", "sqlalchemy[asyncio]>=2.0.44", "sqlparse>=0.5.3", "starlette-context>=0.4.0", "user-agents>=2.2.0", ] [dependency-groups] dev = [ "pytest>=8.4.0", "pytest-sugar>=1.1.1", ] lint = [ "pre-commit>=4.3.0", ] server = [ "aio-pika>=9.5.7", "wait-for-it>=2.3.0", ] [tool.uv] python-downloads = "manual" default-groups = ["dev", "lint"] [[tool.uv.index]] name = "aliyun" url = "https://mirrors.aliyun.com/pypi/simple" [tool.hatch.build.targets.wheel] packages = ["backend"] [tool.hatch.version] path = "backend/__init__.py" [project.scripts] fba = "backend.cli:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build"