Metadata-Version: 2.4
Name: python-release-master
Version: 0.4.9
Summary: An automated Python package release management tool with AI-powered changelog generation
Author-email: Kareem Elbahrawy <kareem.elbahrawy@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: automation,cd,changelog,ci,pypi,release
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Requires-Dist: click>=8.0.0
Requires-Dist: openai>=1.0.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: requests>=2.25.0
Requires-Dist: rich>=10.0.0
Requires-Dist: toml>=0.10.0
Requires-Dist: typer>=0.9.0
Provides-Extra: dev
Requires-Dist: black>=23.0.0; extra == 'dev'
Requires-Dist: flake8>=6.0.0; extra == 'dev'
Requires-Dist: isort>=5.0.0; extra == 'dev'
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == 'dev'
Requires-Dist: sphinx>=6.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# Python Release Master

A modern Python package release automation tool that handles everything from version bumping to publishing on PyPI.

## Features

- 🚀 One-command release process
- 📦 Automatic package building and publishing with `uv`
- 🤖 AI-powered changelog generation
- 🔄 Automatic version bumping
- 🎯 GitHub repository creation and release management
- 📝 Smart defaults and minimal configuration

## Requirements

- Python 3.8+
- GitHub CLI (`gh`) installed and authenticated
- PyPI token in environment as `PYPI_TOKEN`
- OpenAI API key in environment as `OPENAI_API_KEY` (optional, for AI features)

## Installation

```bash
pip install python-release-master
```

## Quick Start

1. Create a new package:
   ```bash
   release-master init my-package
   ```
   This will:
   - Create a new directory with your package name
   - Set up the package structure with smart defaults
   - Create a GitHub repository
   - Initialize git and push the first commit

2. Release your package:
   ```bash
   cd my-package
   release-master release-package
   ```
   This will:
   - Analyze changes and bump version
   - Generate changelog
   - Build and publish to PyPI
   - Create GitHub release

## Configuration

Configuration is optional and automatically created with smart defaults. If you need to customize, edit `.release-master.yaml`:

```yaml
version:
  files: ["pyproject.toml", "src/my_package/__init__.py"]

changelog:
  ai:
    enabled: true
    model: "gpt-4"

github:
  auto_create: true
  private: false

pypi:
  publish: true
```

## License

MIT 