SuperAPI AI 工具集

python-fastapi

编程与开发

查看项目

更新于 10-15 16:45

技能介绍

用途:提供使用 FastAPI 构建 Python API 的工程化模式,强调 uv 包管理与按业务域(feature)而非按层组织的模块化架构,并集成异步数据库与生产级配置。

主要能力:资料给出技术栈约定,包括 Python 3.12+、uv、FastAPI、SQLAlchemy 2.0 异步、Pydantic v2、PostgreSQL(开发可用 SQLite)、Alembic、pytest/pytest-asyncio、ruff。项目结构包含 pyproject.toml、uv.lock、alembic/、src/app/ 下的 config、database、core、models 以及 features 子目录(各 feature 含 api、schemas、services、models、utils/repository),并用 api/router.py 汇总各 feature 路由。

必要用法:安装 uv 使用 curl -LsSf https://astral.sh/uv/install.sh | sh;随后 uv init my-project、uv python pin 3.12,并用 uv add 添加 fastapi uvicorn[standard] sqlalchemy[asyncio] asyncpg、pydantic pydantic-settings python-dotenv、alembic,开发依赖用 uv add --dev pytest pytest-asyncio pytest-cov httpx ruff mypy。数据库迁移用 uv run alembic init alembic、uv run alembic revision --autogenerate -m "Initial migration"、uv run alembic upgrade head。

适用场景:需要以异步 SQLAlchemy 与 Pydantic v2 搭建分层清晰、便于测试的 FastAPI 服务,并希望用 Alembic 管理数据库结构变更时参考。

限制:资料中的示例为代码与目录模板,未提供具体版本兼容性验证、性能数据、托管或收费说明;CORS 与 secret_key 等示例默认值需按实际环境调整,资料未给出更多安全或部署细节。