Cookiecutter Modern PyPackage 使用教程
项目介绍
cookiecutter-modern-pypackage
是一个用于创建现代 Python 包的 Cookiecutter 模板。该模板集成了多个现代工具,如 Poetry 用于包管理,pre-commit 用于代码格式化和检查,以及 Read the Docs 用于文档生成等。通过使用这个模板,开发者可以快速启动一个符合最佳实践的 Python 项目。
项目快速启动
安装 Cookiecutter
确保你已经安装了 Cookiecutter 1.4.0 或更高版本:
pip install -U cookiecutter
生成 Python 包
使用最新版本的 cookiecutter-modern-pypackage
生成你的 Python 包:
cookiecutter gh:fedejaure/cookiecutter-modern-pypackage --checkout v3.0.1
设置项目
-
创建 GitHub 仓库:将生成的项目推送到一个新的 GitHub 仓库。
-
安装开发依赖:在虚拟环境中安装开发依赖:
poetry install
-
安装 pre-commit 钩子:
poetry run inv install-hooks
-
配置 Codecov:设置 Codecov 仓库设置(需要
CODECOV_TOKEN
)。 -
配置 Read the Docs:将你的仓库添加到 Read the Docs 账户并启用服务钩子。
-
配置 PyPI 和 TestPyPI:设置 PyPI 和 TestPyPI 的令牌(
PYPI_TOKEN
和TEST_PYPI_TOKEN
)。
应用案例和最佳实践
应用案例
假设你正在开发一个数据分析工具包,你可以使用 cookiecutter-modern-pypackage
模板来快速启动项目。通过集成 Poetry,你可以轻松管理依赖和版本;通过 pre-commit,你可以确保代码质量和一致性;通过 Read the Docs,你可以自动生成和部署文档。
最佳实践
- 使用 Poetry 管理依赖:确保所有依赖都被正确管理,并且版本控制清晰。
- 使用 pre-commit 钩子:在提交代码前自动运行代码格式化和检查,确保代码质量。
- 使用 Read the Docs 生成文档:自动生成和部署文档,方便用户和开发者查阅。
典型生态项目
相关项目
- audreyr/cookiecutter-pypackage:一个经典的 Cookiecutter 模板,用于创建 Python 包。
- briggySmalls/cookiecutter-pypackage:一个基于
audreyr/cookiecutter-pypackage
的 fork,使用 Poetry 进行包管理。 - hypermodern-python:一个关于现代 Python 开发的系列文章,提供了许多最佳实践和工具推荐。
通过使用 cookiecutter-modern-pypackage
模板,你可以快速启动一个现代化的 Python 项目,并遵循最佳实践和工具集成,提高开发效率和代码质量。