Code of Conduct • Security Policy • Issue Tracker
AI驱动的自动化Python包创建、开发和发布框架
⚠️ Development Status: This project is under active development. APIs may change before v1.0.0 release.
Try Auto Package Framework instantly without installation using uvx:
uvx auto-package-framework --helpAuto Package Framework 是一个自动化框架,能够帮助你从想法到发布,全自动创建Python包。只需提供一个项目想法,框架就能自动生成项目结构、编写代码、创建GitHub仓库并发布到PyPI。
- 自动化项目生成: 基于内置模板自动创建完整的Python包项目结构
- 内置专业模板: 包含完整的项目模板(CI/CD、文档、代码规范等),开箱即用
- AI代码生成: 使用AI根据项目想法自动生成高质量代码
- GitHub集成: 自动创建仓库、推送代码、设置CI/CD
- PyPI发布: 自动构建和发布包到PyPI
- 命令行工具: 提供便捷的CLI接口
用户输入想法
↓
1. 解析项目需求 (PROJECT_IDEA.md格式)
↓
2. 从模板生成项目结构
↓
3. AI生成初始代码
↓
4. 运行测试和代码检查
↓
5. 创建GitHub仓库并推送代码
↓
6. 设置CI/CD工作流
↓
7. 构建包
↓
8. 发布到PyPI
↓
9. 创建GitHub Release
- Core Stack: Python 3.8+, PyGithub, GitPython, OpenAI/Anthropic
- Key Libraries: PyYAML, Jinja2, Click, Twine, Build
- Build System: setuptools with pyproject.toml
- Testing: pytest with coverage
- API Design: 模块化设计,支持灵活配置
- Performance: 快速生成项目,AI代码生成异步处理
- Security: 支持环境变量和密钥管理,不存储敏感信息
- Testing: 单元测试和集成测试覆盖
- [OK] 项目生成器: 从模板自动生成项目结构
- [OK] GitHub集成: 自动创建仓库并推送代码
- [OK] PyPI发布: 自动构建和发布包
- [OK] AI代码生成: 支持OpenAI和Anthropic
- [OK] 命令行工具: 提供便捷的CLI接口
- [OK] 配置管理: 支持YAML文件和环境变量
- [OK] 模板系统: 基于Jinja2的模板渲染
- [OK] Git操作: 自动初始化仓库和提交
- [OK] 版本管理: 自动更新版本号
- [OK] 错误处理: 完善的错误处理和日志
- [OK] GitHub API: 完整的GitHub操作支持
- [OK] PyPI API: 支持Token和密码认证
- [OK] AI API: 支持多个AI提供商
📖 新手指南: 如果你是第一次使用,建议先阅读 开发者快速开始指南,了解如何使用 API Key 或 Cursor IDE 模式创建你的第一个包。
pip install auto-package-frameworkpip install auto-package-framework[dev]git clone https://github.com/flashpoint493/auto-package-framework.git
cd auto-package-framework
pip install -e ".[dev]"Simple Example (Python):
from framework.core import AutoPackageFramework
# 初始化框架
framework = AutoPackageFramework()
# 创建包
result = framework.create_package(
project_name="my-awesome-package",
project_idea="一个用于自动化任务调度的Python包",
)Command-Line Example:
# 基本使用
auto-package create \
--project-name "my-package" \
--idea "我的项目描述"
# 完整流程(生成+GitHub+PyPI)
auto-package create \
--project-name "my-package" \
--idea "我的项目描述" \
--github-repo "my-package" \
--publish配置API密钥(支持持续使用):
# 首次使用前配置API密钥
auto-package config set-ai --provider openai --api-key "sk-xxxxx"
# 配置后即可持续使用,无需每次重新配置
auto-package create --project-name "my-package" --idea "我的项目描述"方式1: 使用CLI命令配置(推荐,支持持续使用)
# 配置AI API密钥
auto-package config set-ai --provider openai --api-key "sk-xxxxx" --model "gpt-4"
# 配置GitHub Token
auto-package config set-github --token "ghp_xxxxx" --username "your_username"
# 配置PyPI Token
auto-package config set-pypi --token "pypi-xxxxx" --username "your_username"
# 查看当前配置
auto-package config show
# 清除所有配置
auto-package config clear配置会自动保存到 ~/.auto_package_framework/ 目录,后续使用无需重新配置。
方式2: 环境变量
export GITHUB_TOKEN=ghp_xxxxx
export PYPI_TOKEN=pypi-xxxxx
export OPENAI_API_KEY=sk-xxxxx方式3: 配置文件
创建 config.yaml:
github:
username: your_username
token: your_github_token
pypi:
token: pypi-xxxxx
ai:
provider: openai
api_key: your_api_key
model: gpt-4
# 模板路径(可选,默认使用内置模板)
# template_path: /path/to/custom/template注意: 框架已内置完整的项目模板,无需额外配置。只有在需要使用自定义模板时才需要指定
template_path。
框架提供了 IDE Skill 接口,使 AI IDE(如 Cursor)能够识别和使用框架的能力:
# 导出 skill 信息(JSON格式)
auto-package skill --format json --output skill.json
# 导出 skill 信息(Markdown格式)
auto-package skill --format markdown --output skill.md在 Python 中使用:
from framework import get_skill_interface
skill = get_skill_interface()
capabilities = skill.get_capabilities()
print(skill.get_skill_markdown())Auto Package Framework 支持多种使用模式:
Best for: 快速原型、测试框架功能
from framework.core import AutoPackageFramework
framework = AutoPackageFramework()
result = framework.create_package(
project_name="test-package",
project_idea="测试项目",
# 不指定github_repo,不会创建GitHub仓库
auto_publish=False,
)Best for: 开源项目、需要版本控制
result = framework.create_package(
project_name="my-package",
project_idea="我的项目描述",
github_repo="my-package", # 指定仓库名
auto_publish=False,
)Best for: 生产环境、需要自动发布
result = framework.create_package(
project_name="production-package",
project_idea="生产环境使用的包",
github_repo="production-package",
auto_publish=True, # 自动发布到PyPI
)| Aspect | 仅生成 | 生成+GitHub | 完整流程 |
|---|---|---|---|
| 复杂度 | ⭐ 简单 | ⭐⭐ 中等 | ⭐⭐⭐ 高级 |
| 最佳场景 | 测试 | 开源项目 | 生产环境 |
| GitHub | ❌ | ✅ | ✅ |
| PyPI | ❌ | ❌ | ✅ |
| 时间 | ~10秒 | ~20秒 | ~60秒 |
from framework.core import AutoPackageFramework
framework = AutoPackageFramework(config_path="custom_config.yaml")
result = framework.create_package(
project_name="custom-package",
project_idea="自定义配置的项目",
replacements={
"USERNAME": "my_github_username",
"email": "my.email@example.com",
"author": "My Name",
},
)projects = [
("package-1", "描述1"),
("package-2", "描述2"),
("package-3", "描述3"),
]
for name, idea in projects:
framework.create_package(
project_name=name,
project_idea=idea,
)- 快速开始指南 - 5分钟快速上手
- 开发者快速开始指南 - 详细使用指南
- 发布指南 - 详细发布说明
- 外部工具说明 - 所需工具和API
- 最小原型测试 - 测试指南
- 文档索引 - 完整文档列表
- 项目总结 - 项目概述
- LLM上下文文件 - AI助手项目上下文(llms.txt)
- Python 3.8+
- GitHub Personal Access Token (用于GitHub集成)
- PyPI API Token (用于发布)
- OpenAI或Anthropic API Key (用于AI代码生成,可选)
- Python 3.8+
- Git
- pip
# Clone repository
git clone https://github.com/flashpoint493/auto-package-framework.git
cd auto-package-framework
# Install dependencies
pip install -e ".[dev]"
# Install pre-commit hooks
pre-commit install
# Run tests
pytest# Run all tests
pytest
# Run with coverage
pytest --cov=src --cov-report=html
# Run specific test suite
pytest tests/test_config.py# Format code
ruff format .
# Lint code
ruff check .
# Type check
mypy .Contributions are welcome! Please read our Contributing Guide first.
- Fork the repository
- Create your feature branch (
git checkout -b feat/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
Please report security issues privately. See SECURITY.md for details.
重要提示:
- 不要将API Token提交到代码库
- 使用环境变量或密钥管理服务
- 使用最小权限的Token
This project is licensed under the MIT License - see the LICENSE file for details.
- 项目模板: 基于 Python Package Template 模板
- 模板灵感: Python Package Template 参考了 AuroraView 的项目结构
- 依赖库: 使用 PyGithub、GitPython 等优秀库
- AI服务: 感谢 OpenAI 和 Anthropic 提供的AI服务
- Author: Auto Project Team
- GitHub: @flashpoint493
- Issues: GitHub Issues
- PyPI: auto-package-framework
Made with ❤️ by Auto Project Team