SuperAPI AI 工具集

ia-python-services

编程与开发

查看项目

更新于 10-15 22:17

技能介绍

用途:为 Python CLI 工具、异步并发与后端服务(如 FastAPI)提供工程化模式与规范,帮助在写 Python 代码时统一依赖管理、并发取舍、韧性、可观测性与测试实践。

主要能力:

  • 现代工具链:uv 管理依赖(uv init、uv add、uv run、uv add --upgrade、uv tree --outdated),ruf 负责 lint 与格式化(ruff check --fix . && ruff format .),ty 做类型检查;用 [dependency-groups](PEP 735)管理开发依赖,用 PEP 723 内联元数据编写独立脚本;uv.lock 纳入版本控制。
  • 并发取舍:多并发 I/O 用 asyncio(gather、create_task、TaskGroup、Semaphore、Queue、Lock),CPU 密集用 multiprocessing.Pool 或 ProcessPoolExecutor,混合场景用 asyncio.to_thread();同一调用链保持全同步或全异步。
  • 后台任务:立即返回任务 ID,客户端轮询 /jobs/{id};Celery 重试与指数退避、幂等性、死信队列、chain/group/chord 工作流。
  • 韧性:tenacity 重试仅限瞬时错误,每个网络调用设超时,lru_cache 记忆化,连接池复用。
  • 生产韧性:Pydantic BaseSettings 启动即校验配置,/health 与 /ready 健康端点。
  • 可观测性:structlog JSON 日志、关联 ID、日志级别、Prometheus 指标、OpenTelemetry 追踪,按症状而非原因告警。
  • 测试与迁移:pytest 常用参数、fixture 作用域、tmp_path、参数化与 mock;迁移分离 schema 与数据,重命名用 expand-contract,不让已运行迁移被修改。
  • API 设计:契约优先、Hyrum 定律、增量而非修改、统一错误信封、Pydantic 边界校验。

使用方式:按文档给出的命令与模式执行,如 uv init --package myproject、uv add <pkg>、uv run pytest、ruff check --fix . && ruff format .;验证要求 pytest、ruff、ty 均零警告/错误,覆盖率目标 80%+。

适用场景:构建 Python CLI 应用、FastAPI 服务、异步 I/O 密集服务、CPU 密集计算、后台任务与分布式服务。

限制:资料未给出具体版本号、许可证、收费与平台支持信息;部分细节需参考关联文档(cli-tools.md、fastapi.md、ia-postgresql skill)。