SuperAPI AI 工具集

python-services

编程与开发

查看项目

更新于 10-15 22:17

技能介绍

用途:为 Python 命令行工具、异步并发与后端服务提供工程模式参考,适用于编写 Python 代码、构建 CLI 应用与 FastAPI 服务等场景。

主要能力与工具链:推荐 uv 替代 pip、virtualenv、pyenv、pipx 做依赖管理;ruff 替代 flake8、black、isort;ty 替代 mypy、pyright 做类型检查。使用 uv init --package 创建可分发包,uv init 创建应用;用 uv add、uv add --upgrade 管理依赖,避免手改 pyproject.toml;用 uv run 自动激活虚拟环境;uv.lock 纳入版本控制;开发依赖用 PEP 735 的 dependency-groups;独立脚本可用 PEP 723 内联元数据。

并发取舍:大量并发 I/O 用 asyncio(gather、create_task、TaskGroup、Semaphore、Queue、Lock),CPU 密集用 multiprocessing 或 ProcessPoolExecutor,混合负载可用 asyncio.to_thread();同一调用路径需全同步或全异步,不得阻塞事件循环,CancelledError 清理后需重新抛出。

后台任务与韧性:任务先返回 ID 再异步处理,客户端轮询状态;可用 Celery 及其链式、并行、扇出工作流;任务必须幂等并设计死信队列。用 tenacity 做指数退避重试,仅重试瞬时错误(网络、429、502/503/504),每次网络调用需设超时,生产环境必须配置连接池。

生产实践:用 Pydantic BaseSettings 在启动时校验配置,提供 /health 与 /ready 端点;用 structlog 记录结构化日志并传递关联 ID;用 Prometheus 指标与 OpenTelemetry 追踪。测试用 pytest,目标覆盖率 80%+,通过 uv run pytest 运行,uv run ruff check . 通过且零警告。API 设计遵循契约优先、只增不改、统一错误结构与边界校验。

限制:资料未提供具体安装命令之外的版本约束、收费信息或适用平台细节。