Python项目模板工具

一个预配置了ruff、black、pytest等开发工具的Python项目模板,适用于快速启动标准化Python项目开发。

  • by rohanjoackhim
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 rohanjoackhim/mcp-python-server

使用说明

Python项目模板

这是一个模板存储库,适用于任何附带以下开发工具的Python项目:

  • ruff:识别许多错误和样式问题(flake8, isort, pyupgrade)
  • black:自动格式化代码

这些检查作为预提交钩子运行,使用 pre-commit 图书馆。

它包括 pytest 用于测试和 pytest-cov 用于测量覆盖率的插件。

检查和测试都是在每次pull请求和合并到main时使用Github操作运行的。

此存储库是为Python 3.11设置的。要更改版本,请执行以下操作:

  1. 更改 image 论点在 .devcontainer/devcontainer.json (参见 https://github.com/devcontainers/images/tree/main/src/python 获取预构建的Docker镜像列表)
  2. 更改中的配置选项 .precommit-config.yaml
  3. 在中更改版本号 .github/workflows/python.yaml

开发说明

使用devcontainer

这个仓库附带了一个devcontainer(一个Docker化的Python环境)。如果在Codespace中打开它,它应该会自动初始化devcontainer。

在本地,您可以在安装了Dev Containers扩展的VS Code中打开它。

没有devcontainer

如果你不能或不想使用devcontainer,那么你应该首先创建一个虚拟环境:

python3 -m venv .venv
source .venv/bin/activate

然后安装开发工具和预提交钩子:

python3 -m pip install --user -r requirements-dev.txt
pre-commit install

添加代码和测试

这个存储库从一个非常简单的 main.py 并对其进行测试 tests/main_test.py. 您可能希望用自己的代码替换它,并且可能希望添加其他文件 随着代码复杂性的增加。

准备运行测试时,运行:

python3 -m pytest

文件细分

以下是此模板中每个文件/文件夹的简短说明:

  • .devcontainer:包含用于设置devcontainer的文件的文件夹
    • devcontainer.json:配置devcontainer的文件,包括VS代码设置
  • .github:Github特定文件和文件夹的文件夹
    • workflows:包含Github操作配置文件的文件夹
      • python.yaml:配置运行工具和测试的Github操作的文件
  • tests:包含Python测试的文件夹
    • main_test.py:包含main.py的pytest样式测试的文件
  • .gitignore:描述Git不应跟踪哪些文件模式的文件
  • .pre-commit-config.yaml:列出所有预提交钩子和参数的文件
  • main.py:程序的主要(也是目前唯一的)Python文件
  • pyproject.toml:配置大多数Python开发工具的文件
  • README.md:你在读!
  • requirements-dev.txt:列出开发所需的所有PyPi包的文件
  • requirements.txt:列出生产所需的所有PyPi包的文件

如需更详细的解释,请阅读 这篇博客文章.

🔎 发现问题或有改进的想法?

让我们知道并打开一个问题,帮助我使这个模板存储库变得更好!