
如何快速上手 AI Dev Kit 开发工具链uv、black、ruff 与 pytest 配置完整指南【免费下载链接】ai-dev-kitDatabricks Toolkit for Coding Agents provided by Field Engineering项目地址: https://gitcode.com/GitHub_Trending/ai/ai-dev-kitAI Dev KitDatabricks Toolkit for Coding Agents是 Databricks 现场工程团队打造的 AI 开发工具包为编码代理提供 Databricks 项目构建能力。对新手而言最关心的往往是这个项目用了哪些代码规范与工具链本文带你用 5 分钟看懂它背后的 uv 环境管理、black/ruff 格式化、pytest 测试配置掌握一套可复用的 Python 工程化最佳实践。项目结构速览工具链分布在哪些目录AI Dev Kit 由四大模块组成每个模块都有独立的 pyproject.toml 配置文件这就是工具链的源头databricks-tools-core/核心工具库提供 AI 助手友好的 Databricks 操作函数databricks-mcp-server/通过 FastMCP 暴露 Databricks 操作的 MCP 服务器️databricks-builder-app/技能驱动的构建应用FastAPI 前端databricks-skills/面向编码代理的技能文档集合 核心理念pyproject.toml是唯一事实来源所有依赖、工具配置集中管理不再依赖requirements.txt。一键安装步骤用 uv 搭建开发环境项目统一采用uv作为 Python 包与环境管理器明确禁止使用pip、python3 -m venv或conda。官方内置的 python-dev 技能 就写着这条铁律Use uv exclusively — All packaging, environment, and script execution via uv以最简单的 MCP 服务器为例只需执行一条安装脚本它会自动完成以下工作见 setup.sh检查系统中是否已安装uv未安装则提示安装方式执行uv venv --python 3.11创建 Python 3.11 虚拟环境以可编辑模式安装databricks-tools-core和databricks-mcp-server自动验证导入是否成功并输出 MCP 配置片段日常开发中的常用命令也非常简洁uv sync # 从 pyproject.toml 同步依赖 uv sync --extra dev # 额外安装开发依赖含 ruff、black、pytest uv run pytest # 直接运行测试无需激活环境 uv add requests # 新增依赖 各模块对 Python 版本有明确要求builder-app 限定3.11,3.14见 pyproject.tomlMCP 服务器要求3.9见 pyproject.toml核心库要求3.10。最快配置方法ruff 检查与格式化规范ruff是本项目的主力 Lint 与格式化工具。提交代码前按照 CONTRIBUTING.md 的约定执行即可# 检查 lint 错误 uvx ruff0.11.0 check --selectE,F,B,PIE --ignoreE401,E402,F401,F403,B017,B904,ANN,TCH \ --line-length120 --target-versionpy311 databricks-tools-core/ databricks-mcp-server/ # 自动修复 格式化 uvx ruff0.11.0 check --fix ... uvx ruff0.11.0 format ...值得新手抄作业的 ruff 配置细节builder-app 的 pyproject.toml 内置了一套非常完整的 ruff 配置堪称模板配置项取值含义line-length100单行最大长度selectE, W, F, Q, I, D启用 pycodestyle、pyflakes、引号、导入排序、文档字符串检查quote-stylesingle统一使用单引号max-complexity10McCabe 圈复杂度上限防止函数过长过绕pydocstylegoogle采用 Google 风格 docstring 约定两个很贴心的设计按文件豁免规则*_test.py文件豁免部分文档字符串检查D101–D104__init__.py豁免 D104——测试文件不必为文档字符串陪绑dummy 变量识别自定义正则允许_开头的未使用变量兼容常见占位命名习惯此外CONTRIBUTING.md 还约定了通用代码标准Python 遵循 PEP 8、公开函数必须有类型注解、目录命名用小写加连字符如databricks-tools-core。pytest 配置详解单元测试与集成测试分层pytest 是项目唯一的测试框架明确不使用 unittest测试统一放在tests/目录并包含__init__.py。核心库的配置分散在两个文件中互为补充pyproject.toml定义testpaths [tests]和测试标记pytest.ini定义测试发现规则、输出选项和警告过滤关键配置项解读配置项取值新手理解python_filestest_*.py测试文件以test_开头python_classes/python_functionsTest*/test_*测试类与方法命名约定addopts-v --tbshort默认详细输出 精简报错栈filterwarnings忽略 DeprecationWarning避免弃用警告刷屏用 marker 区分集成测试与慢速测试项目给测试打了两个标记见 pyproject.tomlintegration集成测试需要真实的 Databricks 工作区连接slow慢速测试可能耗时较长日常提交前运行集成测试验证改动是否能在真实工作区跑通cd databricks-tools-core uv run pytest tests/integration/ -v测试目录按业务域组织如 compute、jobs、unity_catalog、sql 等每类都有独立的conftest.py管理夹具——这是大型测试项目解耦的常用手法。开发流程遵循TDD所有新增/修改的代码都需配套测试且全部通过后才算任务完成。dev 依赖清单三个项目如何管理工具版本对比三个模块的pyproject.toml可以发现一致的依赖管理策略——开发工具全部放在可选/开发依赖组中与运行时依赖分离核心库的 dev 依赖pytest7.0.0、pytest-timeout2.0.0、black23.0.0、ruff0.1.0MCP 服务器的 dev 依赖额外增加pytest-asyncio因 MCP 是异步框架builder-app 使用 uv 原生的 dependency-groupsruff0.9.6、click、watchdog这里有个实用技巧builder-app 通过[tool.uv]的prerelease allow显式允许预发布版本解析同时用mlflow3.9.0,3.11这样的区间锁定规避未发布版本问题见 pyproject.toml 的注释——这是依赖管理中的常见实战经验。而 black 与 ruff 的分工也值得说明dev 依赖中同时保留了black经典自动格式化器和ruff高性能 linter也自带 formatter。日常以 ruff 为主速度快、规则可配black 作为格式化兜底双保险保证提交代码风格统一。总结新手可以直接套用的 5 条工程习惯习惯项目中的对应实践1. 用 uv 管理一切环境安装脚本先检测 uv全程uv venvuv pip install2. pyproject.toml 单一事实来源依赖、工具配置全集中在 3 个 pyproject.toml 中3. ruff 统一风格单引号、100/120 列宽、圈复杂度 ≤10、Google 风格 docstring4. pytest 分层测试marker 区分 integration / slowtests 按业务域分包5. 开发依赖与运行依赖分离通过 optional-dependencies / dependency-groups 隔离这套uv ruff black pytest的组合是当前 Python 生态的主流工程化方案。理解了 AI Dev Kit 的这些配置文件你就拥有了一个可以直接复用到自己项目的开箱即用工具链模板。 延伸阅读完整贡献流程见 CONTRIBUTING.md各模块 README如 databricks-tools-core/README.md中有更细的使用说明。【免费下载链接】ai-dev-kitDatabricks Toolkit for Coding Agents provided by Field Engineering项目地址: https://gitcode.com/GitHub_Trending/ai/ai-dev-kit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考