用途:在开发 Python 应用时,按最佳实践编写代码,覆盖类型提示、异步编程和现代工具链。
主要能力与用法: 项目初始化使用 uv:uv init my-project,进入目录后 uv add litestar,开发依赖 uv add --dev pytest ruff mypy。pyproject.toml 中配置 requires-python、依赖及工具项,如 [tool.ruff] 的 line-length、target-version,[tool.mypy] 的 strict、python_version。 类型提示:使用 typing 的 TypeVar、Generic 与 collections.abc 的 Sequence,示例中定义泛型 Repository 类及返回 list[str] 的函数。 异步模式:使用 asyncio 与 collections.abc 的 AsyncIterator,通过 aiohttp.ClientSession 与 asyncio.gather 并发抓取,使用 aiofiles 异步流式读取文件。 错误处理:用 dataclass 定义 Ok、Err 泛型结果类型,组合为 Result 联合类型,示例 divide 返回 Result[float, str]。 测试:使用 pytest 与 unittest.mock 的 AsyncMock,配合 @pytest.mark.asyncio 编写异步测试,使用 fixture 与 patch 模拟数据库。 工具链命令:ruff check --fix .、ruff format .、mypy --strict .、pytest -v --cov=src。
适用场景:需要统一 Python 项目结构、类型检查、异步实现与测试规范的开发工作。
限制:资料未提供该技能的安装方式、平台支持、收费情况或具体效果说明,暂未提供。