Python项目模板

一个现代化的Python项目模板,提供依赖管理、代码质量工具、Git钩子、CI/CD自动化等功能,适用于Python开发项目。

  • by martgra
  • Makefile
  • 本地部署
  • 更新于
在 GitHub 查看 martgra/lovdata-mcp

使用说明

lovdata mcp

Python的可靠项目模板。

✨ 特性

  • 现代Python –要求Python≥3.11。
  • 使用uv进行依赖管理 –快速依赖安装和锁文件管理。
  • 质量工具
    • Ruff格式和lints代码
    • Pylint执行更深入的静态分析
    • 部门检测未使用、缺失和可传递的依赖关系
    • 秃鹫发现死代码。
  • 带有检测秘密的秘密扫描 -防止秘密被泄露和推送。
  • Git钩子与Prek –对每次提交和推送进行自动质量检查。
  • 自动化CI/CD GitHub Actions在pull请求和推送上运行所有Prek钩子,以确保代码质量。
  • Dev容器 –Devcontainer提供了一个可复制的环境,其中预先配置了Python 3.13、uv和所有工具。

快速开始

几秒钟后开始:

uvx copier copy gh:martgra/python_template <destination> --trust

项目布局

lovdata_mcp/         # Your package
tests/                      # Test suite
pyproject.toml              # Dependencies & configuration
uv.lock                     # Locked versions
.pre-commit-config.yaml     # Git hook configuration (used by Prek)
.secrets.baseline           # detect-secrets baseline
Makefile                    # Common tasks (test, lint, format, etc.)
.vscode/                  # VSCode settings
.devcontainer/            # Dev container configuration
.github/workflows/       # CI/CD workflows

本地要求Python≥3.11。开发容器使用Python 3.13。

Git钩子(Prek)

猎物 是使用相同配置格式的基于Rust的预提交的快速替代品。使用以下工具安装挂钩:

uvx prek install

快速提交挂钩(在每次提交时运行)

  • 拉夫 –Lints和格式化Python代码(启用自动修复)
  • 文件检查 –尾随空格、文件末尾换行符、JSON/YAML/TOML验证
  • 安全 –检测私钥

较慢的推杆(继续运行 git push)

  • pytest –完整的测试套件
  • 皮林 –对代码设计问题进行深入的静态分析
  • 部门 –检查未使用、缺失和可传递的依赖关系
  • 秃鹫 –查找失效/未使用的代码
  • 检测秘密 –根据基线扫描秘密
  • 紫外线锁 –验证 pyproject.toml 并锁定文件一致性

这种两层方法可以快速提交,同时确保在推送之前进行全面的质量检查。

CI管道

GitHub Actions在pull请求上运行,并推送到主分支。工作流使用相同的Prek配置,执行所有钩子(提交和推送阶段)以确保代码质量。

看 .github/workflows/ci.yaml.

开发容器

对于可重复的基于Docker的开发,请在容器中重新打开项目(开发容器:在容器中重新打开 在VS代码中)。容器预先配置了Python 3.13、uv和所有工具。

文件: VS代码开发容器

模板更新

通过模板改进使您的项目保持最新状态:

uvx copier update

文件: 复印机更新

许可证

分布在 MIT许可证.