Python 项目模板
一个现代化的 Python 项目模板,集成了最佳实践和完整的开发工具链。
特性
- 🚀 使用
uv(或poetry)进行包管理 - 🧪 使用
pytest进行单元测试,tox进行多版本测试 - 📊 使用
allure生成美观的测试报告 - 🔧 使用
pre-commit进行代码质量检查 - 📝 使用
mkdocs生成文档网站 - 🎯 使用
interrogate确保文档覆盖率 - 🔍 使用
ruff,flake8,mypy进行代码检查
快速开始
1. 安装 uv(推荐)
2. 创建新项目
# 克隆模板
git clone https://github.com/SongshGeo/project_template.git my-project
cd my-project
# 初始化项目
make setup
3. 开始开发
需要帮助?
查看快速开始指南了解详细信息。
项目结构
.
├── src/ # 源代码
├── tests/ # 测试
├── config/ # 配置文件
├── docs/ # 文档
├── scripts/ # 工具脚本
├── pyproject.toml # 项目配置
├── makefile # 快捷命令
└── README.md # 项目说明
主要功能
包管理
- uv(推荐):极快的包管理器
- poetry(备选):成熟的包管理器
代码质量
- Black:代码格式化
- Ruff:极快的代码检查
- Flake8:代码风格检查
- MyPy:类型检查
- Interrogate:文档覆盖率
测试框架
- Pytest:单元测试
- Tox:多版本测试(Python 3.10-3.13)
- Allure:测试报告
- Coverage:测试覆盖率
文档工具
- MkDocs:文档生成
- Material 主题:美观的文档网站
文档导航
文档导航
点击下方链接快速查看各个章节:
特性清单
| 功能 | 工具 | 说明 |
|---|---|---|
| 包管理 | uv, poetry | 现代化的依赖管理 |
| 代码格式化 | Black, Ruff | 统一的代码风格 |
| 代码检查 | Ruff, Flake8, MyPy | 多层代码质量保证 |
| 测试框架 | Pytest, Tox | 全面的测试支持 |
| 测试报告 | Allure | 美观的测试报告 |
| 文档生成 | MkDocs | 专业的文档网站 |
| 文档覆盖率 | Interrogate | 确保代码有文档 |
| 代码提交 | Pre-commit | 提交前自动检查 |
| 版本管理 | Release Please | 自动化版本发布 |
| 类型检查 | MyPy | 静态类型检查 |
| 性能分析 | Snakeviz | 代码性能可视化 |
常用命令
许可证
本项目使用 MIT 许可证。
贡献
欢迎贡献代码!请遵循以下步骤:
- Fork 本仓库
- 创建特性分支
- 提交更改
- 推送到分支
- 创建 Pull Request