Python项目模板
这是一个模板存储库,适用于任何附带以下开发工具的Python项目:
ruff:识别许多错误和样式问题(flake8,isort,pyupgrade)black:自动格式化代码
这些检查作为预提交钩子运行,使用 pre-commit 图书馆。
它包括 pytest 用于测试和 pytest-cov 用于测量覆盖率的插件。
检查和测试都是在每次pull请求和合并到main时使用Github操作运行的。
此存储库是为Python 3.11设置的。要更改版本,请执行以下操作:
- 更改
image论点在.devcontainer/devcontainer.json(参见 获取预构建的Docker镜像列表) - 更改中的配置选项
.precommit-config.yaml - 在中更改版本号
.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包的文件
如需更详细的解释,请阅读 这篇博客文章.
🔎 发现问题或有改进的想法?
让我们知道并打开一个问题,帮助我使这个模板存储库变得更好!

