Files
fastapi_best_architecture/pyproject.toml
Wu Clan 646a0ec2fc Add granian and celery metrics collection (#1057)
* Add granian and celery metrics collection

* Update dashboards

* Add asyncio instrument

* Fix opera log finally
2026-02-03 20:44:05 +08:00

99 lines
2.5 KiB
TOML

[project]
name = "fastapi_best_architecture"
description = "FastAPI 企业级后端架构解决方案"
authors = [
{ name = "Wu Clan", email = "jianhengwu0407@gmail.com" },
]
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.10"
dynamic = ['version']
dependencies = [
"alembic>=1.18.3",
"asgiref>=3.11.0",
"asyncmy>=0.2.11",
"asyncpg>=0.31.0",
"bcrypt>=5.0.0",
# If there is a serious problem, we will try `moka-py`
"cachebox>=5.2.2",
"cappa>=0.31.0",
"celery>=5.6.2",
# When celery version < 6.0.0
# https://github.com/celery/celery/issues/7874
"celery-aio-pool>=0.1.0rc8",
"cryptography>=46.0.4",
"dulwich>=1.0.0",
"fast-captcha>=0.3.2",
"fastapi-limiter>=0.1.6",
"fastapi-pagination>=0.15.9",
"fastapi[standard-no-fastapi-cloud-cli]>=0.128.0",
"flower>=2.0.1",
"gevent>=25.9.1",
"granian>=2.7.0",
"ip2loc>=1.0.0",
"itsdangerous>=2.2.0",
"jinja2>=3.1.6",
"loguru>=0.7.3",
"msgspec>=0.20.0",
"opentelemetry-exporter-otlp-proto-grpc>=1.39.1",
"opentelemetry-instrumentation-asyncio>=0.60b1",
"opentelemetry-instrumentation-celery>=0.60b1",
"opentelemetry-instrumentation-fastapi>=0.60b1",
"opentelemetry-instrumentation-httpx>=0.60b1",
"opentelemetry-instrumentation-logging>=0.60b1",
"opentelemetry-instrumentation-redis>=0.60b1",
"opentelemetry-instrumentation-sqlalchemy>=0.60b1",
"opentelemetry-sdk>=1.39.1",
"prometheus-client>=0.24.1",
"psutil>=7.2.2",
# https://github.com/fastapi-practices/fastapi_best_architecture/issues/887
"psycopg[binary]==3.2.10",
"pwdlib>=0.3.0",
"pydantic>=2.12.5",
"pydantic-settings>=2.12.0",
"pymysql>=1.1.2",
"python-jose>=3.5.0",
"python-socketio>=5.16.0",
"redis[hiredis]>=7.1.0",
"rtoml>=0.13.0",
"sqlalchemy-crud-plus>=1.13.1",
"sqlalchemy[asyncio]>=2.0.46",
"sqlparse>=0.5.5",
"starlette-context>=0.4.0",
"user-agents>=2.2.0",
]
[dependency-groups]
dev = [
"pytest>=9.0.2",
"pytest-sugar>=1.1.1",
]
lint = [
"prek>=0.3.1",
]
server = [
"aio-pika>=9.5.8",
"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"