Metadata-Version: 2.4
Name: python-release-master
Version: 0.5.6
Summary: An automated Python package release management tool with AI-powered changelog generation
Author-email: Kareem Elbahrawy <kareem.elbahrawy@gmail.com>
License: 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
```

## Usage

Simply run the command in your package directory:

```bash
python-release-master
```

Options:
- `--debug` or `-d`: Enable debug logging
- `--version` or `-V`: Show version information and exit

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, create a `.release-master.yaml` file:

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

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

github:
  auto_create: true
  private: false

pypi:
  publish: true
```

## License

MIT 