{"id":18925916,"url":"https://github.com/farfarfun/funbuild","last_synced_at":"2025-10-08T17:46:41.764Z","repository":{"id":64699014,"uuid":"357162035","full_name":"farfarfun/funbuild","owner":"farfarfun","description":"pypi打包、上传、github-release一条龙服务","archived":false,"fork":false,"pushed_at":"2024-08-11T14:27:00.000Z","size":50,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-11T15:42:51.808Z","etag":null,"topics":["build","github-release","package","pypi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/farfarfun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-12T11:09:15.000Z","updated_at":"2024-08-11T14:27:00.000Z","dependencies_parsed_at":"2024-01-03T13:33:32.875Z","dependency_job_id":"cde52d51-c470-4a30-b189-9e08c3001cac","html_url":"https://github.com/farfarfun/funbuild","commit_stats":null,"previous_names":["farfarfun/funbuild"],"tags_count":86,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farfarfun%2Ffunbuild","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farfarfun%2Ffunbuild/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farfarfun%2Ffunbuild/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farfarfun%2Ffunbuild/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/farfarfun","download_url":"https://codeload.github.com/farfarfun/funbuild/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239921837,"owners_count":19718844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build","github-release","package","pypi"],"created_at":"2024-11-08T11:13:51.335Z","updated_at":"2025-10-08T17:46:41.758Z","avatar_url":"https://github.com/farfarfun.png","language":"Python","readme":"# funbuild\n\n[![PyPI version](https://badge.fury.io/py/funbuild.svg)](https://badge.fury.io/py/funbuild)\n[![Python](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nfunbuild 是一个现代化的 Python 项目构建和管理工具，旨在简化 Python 项目的开发、构建、发布和维护流程。它集成了多种构建工具和最佳实践，为开发者提供一站式的项目管理解决方案。\n\n\n\n## ✨ 特性\n\n- 🚀 **多构建工具支持**: 支持 PyPI、Poetry 和 UV 等多种构建方式\n- 🔄 **自动化版本管理**: 智能版本升级和发布流程\n- 📦 **依赖管理**: 自动处理项目依赖和环境配置\n- 🔧 **Git 集成**: 内置 Git 操作，包括拉取、推送和历史清理\n- 🤖 **AI 提交信息**: 集成 gcop 自动生成智能提交信息\n- 🧹 **项目清理**: 自动清理缓存、构建文件和历史记录\n- 📋 **标签管理**: 自动创建和管理 Git 标签\n- 🎯 **命令行界面**: 简洁易用的 CLI 工具\n\n## 📋 系统要求\n\n- Python 3.9 或更高版本\n- Git（用于版本控制功能）\n\n## 🚀 安装\n\n### 从 PyPI 安装（推荐）\n\n```bash\npip install funbuild\n```\n\n### 从源码安装\n\n```bash\ngit clone https://github.com/farfarfun/funbuild.git\ncd funbuild\npip install .\n```\n\n## 📖 使用指南\n\n### 基本命令\n\n在项目根目录下，您可以使用以下命令来管理您的构建流程：\n\n#### 版本管理\n\n```bash\n# 升级项目版本\nfunbuild upgrade\n\n# 升级到指定版本\nfunbuild upgrade --version 1.2.3\n```\n\n#### Git 操作\n\n```bash\n# 拉取最新代码\nfunbuild pull\n\n# 推送代码（支持自动生成提交信息）\nfunbuild push --message \"您的提交信息\"\n\n# 使用 AI 自动生成提交信息\nfunbuild push\n```\n\n#### 项目构建\n\n```bash\n# 安装项目依赖\nfunbuild install\n\n# 构建并发布项目\nfunbuild build --message \"发布信息\"\n\n# 仅构建不发布\nfunbuild build --no-publish\n```\n\n#### 项目维护\n\n```bash\n# 清理 Git 历史记录\nfunbuild clean_history\n\n# 清理构建缓存和临时文件\nfunbuild clean\n\n# 创建 Git 标签\nfunbuild tags\n```\n\n### 高级用法\n\n#### 配置文件\n\nfunbuild 使用 `pyproject.toml` 文件进行配置。您可以在该文件中自定义构建行为：\n\n```toml\n[tool.funbuild]\n# 构建类型：pypi, poetry, uv\nbuild_type = \"uv\"\n\n# 自动版本升级策略\nversion_strategy = \"patch\"  # major, minor, patch\n\n# 发布前是否运行测试\nrun_tests = true\n\n# 自定义构建命令\nbuild_commands = [\n    \"ruff check .\",\n    \"pytest tests/\",\n]\n```\n\n#### 环境变量\n\n```bash\n# 设置构建类型\nexport FUNBUILD_TYPE=uv\n\n# 设置发布仓库\nexport FUNBUILD_REPOSITORY=https://upload.pypi.org/legacy/\n\n# 启用详细日志\nexport FUNBUILD_VERBOSE=1\n```\n\n## 🔧 集成工具\n\nfunbuild 集成了以下优秀的工具：\n\n- **[uv](https://github.com/astral-sh/uv)**: 现代 Python 包管理器\n- **[ruff](https://github.com/astral-sh/ruff)**: 快速 Python 代码检查和格式化工具\n- **[gcop](https://github.com/farfarfun/gcop)**: AI 驱动的 Git 提交信息生成器\n- **[typer](https://typer.tiangolo.com/)**: 现代 CLI 应用框架\n\n## 📁 项目结构\n\n```\nfunbuild/\n├── src/\n│   └── funbuild/\n│       ├── core/          # 核心构建逻辑\n│       ├── shell/         # Shell 命令执行\n│       └── tool/          # 工具集成\n├── examples/              # 使用示例\n├── tests/                 # 测试文件\n├── pyproject.toml         # 项目配置\n└── README.md             # 项目文档\n```\n\n## 🤝 贡献指南\n\n我们欢迎任何形式的贡献！请遵循以下步骤：\n\n1. Fork 本仓库\n2. 创建您的特性分支 (`git checkout -b feature/AmazingFeature`)\n3. 提交您的更改 (`git commit -m 'Add some AmazingFeature'`)\n4. 推送到分支 (`git push origin feature/AmazingFeature`)\n5. 打开一个 Pull Request\n\n### 开发环境设置\n\n```bash\n# 克隆仓库\ngit clone https://github.com/farfarfun/funbuild.git\ncd funbuild\n\n# 安装开发依赖\npip install -e \".[dev]\"\n\n# 运行测试\npytest tests/\n\n# 代码格式化\nruff format .\nruff check . --fix\n```\n\n## 📄 许可证\n\n本项目采用 [MIT 许可证](LICENSE)。\n\n## 🔗 相关链接\n\n- [GitHub 仓库](https://github.com/farfarfun/funbuild)\n- [PyPI 页面](https://pypi.org/project/funbuild/)\n- [发布记录](https://github.com/farfarfun/funbuild/releases)\n- [问题反馈](https://github.com/farfarfun/funbuild/issues)\n\n## 👥 维护者\n\n- **牛哥** - [niuliangtao@qq.com](mailto:niuliangtao@qq.com)\n- **farfarfun** - [farfarfun@qq.com](mailto:farfarfun@qq.com)\n\n## 🙏 致谢\n\n感谢所有为 funbuild 项目做出贡献的开发者和用户！\n\n---\n\n如果您觉得 funbuild 对您有帮助，请给我们一个 ⭐️！\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarfarfun%2Ffunbuild","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffarfarfun%2Ffunbuild","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarfarfun%2Ffunbuild/lists"}