funbuild 是一个现代化的 Python 项目构建和管理工具,旨在简化 Python 项目的开发、构建、发布和维护流程。它集成了多种构建工具和最佳实践,为开发者提供一站式的项目管理解决方案。
- 🚀 多构建工具支持: 支持 PyPI、Poetry 和 UV 等多种构建方式
- 🔄 自动化版本管理: 智能版本升级和发布流程
- 📦 依赖管理: 自动处理项目依赖和环境配置
- 🔧 Git 集成: 内置 Git 操作,包括拉取、推送和历史清理
- 🤖 AI 提交信息: 集成 gcop 自动生成智能提交信息
- 🧹 项目清理: 自动清理缓存、构建文件和历史记录
- 📋 标签管理: 自动创建和管理 Git 标签
- 🎯 命令行界面: 简洁易用的 CLI 工具
- Python 3.9 或更高版本
- Git(用于版本控制功能)
pip install funbuild
git clone https://github.com/farfarfun/funbuild.git
cd funbuild
pip install .
在项目根目录下,您可以使用以下命令来管理您的构建流程:
# 升级项目版本
funbuild upgrade
# 升级到指定版本
funbuild upgrade --version 1.2.3
# 拉取最新代码
funbuild pull
# 推送代码(支持自动生成提交信息)
funbuild push --message "您的提交信息"
# 使用 AI 自动生成提交信息
funbuild push
# 安装项目依赖
funbuild install
# 构建并发布项目
funbuild build --message "发布信息"
# 仅构建不发布
funbuild build --no-publish
# 清理 Git 历史记录
funbuild clean_history
# 清理构建缓存和临时文件
funbuild clean
# 创建 Git 标签
funbuild tags
funbuild 使用 pyproject.toml
文件进行配置。您可以在该文件中自定义构建行为:
[tool.funbuild]
# 构建类型:pypi, poetry, uv
build_type = "uv"
# 自动版本升级策略
version_strategy = "patch" # major, minor, patch
# 发布前是否运行测试
run_tests = true
# 自定义构建命令
build_commands = [
"ruff check .",
"pytest tests/",
]
# 设置构建类型
export FUNBUILD_TYPE=uv
# 设置发布仓库
export FUNBUILD_REPOSITORY=https://upload.pypi.org/legacy/
# 启用详细日志
export FUNBUILD_VERBOSE=1
funbuild 集成了以下优秀的工具:
funbuild/
├── src/
│ └── funbuild/
│ ├── core/ # 核心构建逻辑
│ ├── shell/ # Shell 命令执行
│ └── tool/ # 工具集成
├── examples/ # 使用示例
├── tests/ # 测试文件
├── pyproject.toml # 项目配置
└── README.md # 项目文档
我们欢迎任何形式的贡献!请遵循以下步骤:
- Fork 本仓库
- 创建您的特性分支 (
git checkout -b feature/AmazingFeature
) - 提交您的更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 打开一个 Pull Request
# 克隆仓库
git clone https://github.com/farfarfun/funbuild.git
cd funbuild
# 安装开发依赖
pip install -e ".[dev]"
# 运行测试
pytest tests/
# 代码格式化
ruff format .
ruff check . --fix
本项目采用 MIT 许可证。
- 牛哥 - niuliangtao@qq.com
- farfarfun - farfarfun@qq.com
感谢所有为 funbuild 项目做出贡献的开发者和用户!
如果您觉得 funbuild 对您有帮助,请给我们一个 ⭐️!