collector-backend/pyproject.toml
tangweijie 00db791f91 feat: 初始化 Python 后端项目结构
- FastAPI 应用框架
- SQLAlchemy 异步数据库
- 事件采集和分析 API
- Alembic 数据库迁移
- Docker 部署配置
- 完整的项目文档
2026-01-05 18:08:25 +08:00

61 lines
1.3 KiB
TOML

[tool.poetry]
name = "collector-backend"
version = "0.1.0"
description = "数据采集后端服务 - Python FastAPI 实现"
authors = ["tangweijie <877588133@qq.com>"]
readme = "README.md"
packages = [{include = "src"}]
[tool.poetry.dependencies]
python = "^3.11"
fastapi = "^0.109.0"
uvicorn = {extras = ["standard"], version = "^0.25.0"}
pydantic = "^2.5.0"
pydantic-settings = "^2.1.0"
sqlalchemy = {extras = ["asyncio"], version = "^2.0.25"}
asyncpg = "^0.29.0"
alembic = "^1.13.0"
redis = "^5.0.0"
httpx = "^0.26.0"
python-jose = {extras = ["cryptography"], version = "^3.3.0"}
passlib = {extras = ["bcrypt"], version = "^1.7.4"}
python-multipart = "^0.0.6"
[tool.poetry.group.dev.dependencies]
pytest = "^7.4.0"
pytest-asyncio = "^0.23.0"
pytest-cov = "^4.1.0"
black = "^23.12.0"
isort = "^5.13.0"
mypy = "^1.8.0"
ruff = "^0.1.9"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 100
target-version = ['py311']
include = '\.pyi?$'
[tool.isort]
profile = "black"
line_length = 100
[tool.mypy]
python_version = "3.11"
warn_return_any = true
warn_unused_configs = true
ignore_missing_imports = true
[tool.ruff]
line-length = 100
target-version = "py311"
select = ["E", "F", "W", "I", "N", "UP", "B", "C4"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]