An automated Python package release management tool with AI-powered changelog generation
Project description
Python Release Master
An automated Python package release management tool with AI-powered changelog generation.
Features
- 🤖 AI-powered changelog generation
- 🔄 Automated version bumping (semantic versioning)
- 📦 PyPI publishing
- 🏷️ Git tag and release creation
- 🎯 Smart version bump suggestions
Installation
# Install from PyPI
pip install python-release-master
# Verify installation
release-master --version
Quick Start
- Create a
.release-master.yamlconfiguration file in your project root:
version:
files:
- pyproject.toml # Files containing version strings
pattern: '\d+\.\d+\.\d+'
changelog:
ai:
enabled: true
model: gpt-4-1106-preview
sections:
- Features
- Bug Fixes
- Documentation
- Internal Changes
git:
push: true
tag_prefix: v
release:
enabled: true
pypi:
publish: true
- Set required environment variables:
export OPENAI_API_KEY=your-openai-api-key
export PYPI_TOKEN=your-pypi-token
- Run the release command from your project directory:
release-master release-package
How It Works
- Analyzes git history to determine version bump type (major, minor, patch)
- Updates version in specified files
- Generates changelog using OpenAI
- Builds Python package
- Publishes to PyPI
- Creates Git tag and release
Configuration
Key configuration options in .release-master.yaml:
version.files: List of files containing version stringschangelog.ai.enabled: Enable/disable AI-powered changeloggit.push: Whether to push changes to remotepypi.publish: Whether to publish to PyPI
CLI Commands
# Create a new release
release-master release-package
# Show help
release-master --help
# Show version
release-master --version
Requirements
- Python 3.8+
- OpenAI API key
- PyPI token
- Git repository
Development
If you want to contribute or develop the package:
- Clone the repository:
git clone https://github.com/kareemaly/python-release-master.git
cd python-release-master
- Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
- Install in development mode with dev dependencies:
pip install -e ".[dev]"
- Run the development version:
# Use python -m when running from source
python -m python_release_master release-package
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_release_master-0.4.6.tar.gz.
File metadata
- Download URL: python_release_master-0.4.6.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1634469464bebefcce7d36cf8c6a92f286e380df1cad2dfb4c395d100f6cb0f4
|
|
| MD5 |
85722e1d313740f81dafe2170de42b39
|
|
| BLAKE2b-256 |
8a292105dc074f7f4122785072b3a1fbcb5b72df540d02e6fe793d49c5de875c
|
File details
Details for the file python_release_master-0.4.6-py3-none-any.whl.
File metadata
- Download URL: python_release_master-0.4.6-py3-none-any.whl
- Upload date:
- Size: 24.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
adc707daae7ab75f6525f754622f66109b6681dc0b63fdffc7e85850b85ae538
|
|
| MD5 |
1467489d1e1f0e0b5ff83890ac03adaf
|
|
| BLAKE2b-256 |
6fc4f4484a10da3a8d6da962c59a746b7839510be5799b1deb6dce6704a422db
|