pydantic>=2.12.0
prometheus-client>=0.23.1
psutil>=7.1.0
PyJWT>=2.8.0
uvicorn[standard]>=0.37.0

[database]
sqlalchemy>=2.0.43
alembic>=1.16.5
asyncpg>=0.30.0
aiomysql>=0.2.0

[dev]
pytest>=8.4.2
pytest-asyncio>=1.2.0
pytest-cov>=7.0.0
pytest-mock>=3.15.1
pytest-benchmark>=5.1.0
black>=25.9.0
ruff>=0.14.0
mypy>=1.7.1
pre-commit>=3.5.0
httpx>=0.28.1
maturin>=1.9.4

[docs]
mkdocs>=1.5.3
mkdocs-material>=9.5.32
mkdocstrings[python]>=0.24.0

[full]
pydantic>=2.12.0
pydantic-settings>=2.11.0
httpx>=0.28.1
sqlalchemy>=2.0.43
alembic>=1.16.5
asyncpg>=0.30.0
aiomysql>=0.2.0
redis>=6.4.0
aiomemcache>=0.8.0
strawberry-graphql>=0.283.2
passlib[bcrypt]>=1.7.4
validators>=0.22.0
bleach>=6.2.0
limits>=5.5.0
python-multipart>=0.0.20
email-validator>=2.3.0
click>=8.3.0
rich>=14.2.0
prometheus-client>=0.23.1
opentelemetry-api>=1.37.0
opentelemetry-sdk>=1.37.0
structlog>=25.4.0
python-dotenv>=1.1.1
pyyaml>=6.0.3
jinja2>=3.1.6
maturin>=1.9.4

[graphql]
strawberry-graphql>=0.209.0

[monitoring]
opentelemetry-api>=1.21.0
opentelemetry-sdk>=1.21.0
structlog>=23.2.0

[orm]
sqlalchemy>=2.0.43
alembic>=1.16.5

[production]
asyncpg>=0.30.0
aiomysql>=0.2.0
redis>=6.4.0
aiomemcache>=0.8.0
passlib[bcrypt]>=1.7.4
python-dotenv>=1.1.1

[rust]
maturin>=1.9.4

[security]
pyotp>=2.9.0
passlib[bcrypt]>=1.7.4
validators>=0.22.0
bleach>=6.2.0
limits>=3.7.0
python-multipart>=0.0.6
email-validator>=2.1.0

[test]
pytest>=8.4.2
pytest-asyncio>=1.2.0
pytest-cov>=7.0.0
pytest-mock>=3.15.1
pytest-benchmark>=5.1.0
httpx>=0.28.1

[web]
pydantic>=2.12.0
pydantic-settings>=2.11.0
