这个项目能做什么
Copier-python 是一个 Copier 模板,用于创建预先配置好现代且具有特定见解的工具链的全新 Python 项目。它通过命令行在指定路径生成项目,而非作为一个运行时库使用。
快速上手
- 安装先决条件:用于工具链管理的 mise-en-place 以及 Copier 本身(例如通过 `mise use -g copier` 或 `uv tool install copier`)。
- 使用 `copier copy "gh:smkent/copier-python" /new/project/path` 生成项目。
- 文档网站涵盖了具体要求和进一步的使用细节。
包含的工具
- mise-en-place ("mise"):用于管理开发工具链。
- Astral 工具集:uv, ruff 和 ty。
- prek:提供与 pre-commit 兼容的 git 钩子。
- pytest:作为测试框架,并支持 codecov.io。
- Zensical:用于项目文档,支持自动部署到 GitHub Pages。
更新与发布自动化
- 项目更新通过 Renovate 结合 `copier update` 实现,使生成的项目能够同步模板的变更。
- 发布自动化由 GitHub Actions 驱动,涵盖发布 PyPI 包和构建容器镜像。
致谢
该模板灵感来自 pawamoy/copier-uv 和 ritwiktiwari/copier-astral。它根据仓库中包含的许可证分发,并作为 copier-python 发布在 PyPI 上。
适用人群
适用于希望为 Python 包和应用程序建立可重复起点,且要求从一开始就配置好依赖管理、代码检查/格式化、git 钩子、测试、文档和 CI 驱动发布的开发者,并且希望在模板更新时能够保持生成项目的可更新性。
评论
0 评分人数达到10人后显示
登录后参与讨论。