Skip to main content

Generate Beautiful Changelogs using Conventional Commits

Project description

Table of Contents
  1. About
  2. Quick Start
  3. Usage
  4. Development
  5. Contributing
  6. License

About

usechange is a Python CLI for generating changelogs and release notes from Conventional Commits. It reads git history between refs, groups commits by type, renders Markdown release notes, and can update version numbers based on semantic versioning rules.

It gives you:

  • Changelog generation - Render release notes and optionally write to CHANGELOG.md.
  • Semver bumping - Determine version bumps from commit types and breaking changes.
  • Release workflows - Tag and publish using uv and gh.
  • GitHub sync - Sync release notes to GitHub releases.
  • Repo metadata - Create commit and compare links automatically.

(back to top)

Quick Start

Install usechange with uv (recommended)

uv add usechange

Install with pip (alternative)

pip install usechange

Generate a changelog

usechange changelog --write

Sync the latest release to GitHub

usechange github release

(back to top)

Usage

Generate changelog

usechange changelog --from v0.1.0 --to HEAD --output CHANGELOG.md

Version bumping

usechange changelog --bump --write
usechange changelog --major --write

Release workflow

usechange release --yes

GitHub release sync

usechange github release 0.2.0
usechange github release all

Configuration

usechange reads configuration from one of the following:

  • changelog.config.json
  • .changelogrc
  • changelog.config.toml
  • pyproject.toml under [tool.changelog]

(back to top)

Development

Common tasks:

uv run poe test
uv run poe lint
uv run poe format
uv run poe typecheck
uv run poe clean-full

(back to top)

Contributing

Quick workflow:

  1. Fork and branch: git checkout -b feature/name
  2. Make changes
  3. Run checks: uv run poe clean-full
  4. Commit and push
  5. Open a Pull Request

(back to top)

License

License not yet specified in this repository.

(back to top)


Built by thememium

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

usechange-0.1.11.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

usechange-0.1.11-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file usechange-0.1.11.tar.gz.

File metadata

  • Download URL: usechange-0.1.11.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for usechange-0.1.11.tar.gz
Algorithm Hash digest
SHA256 f68b51d3c7fe82a4f3fe548dab4717cd57e82d127126e6c3cca96b94a9af65f5
MD5 0a417a263401c622f1b79be254bbbfcc
BLAKE2b-256 da57c28e37359ffbde9ec992c8087475794d7f0a1cd87b2f64d300a16d50d1ce

See more details on using hashes here.

File details

Details for the file usechange-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: usechange-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for usechange-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 b089359ce986fb825e9510f0c385baeb8f0b24e6126fb28d29e32f6706174f8d
MD5 e4d25c2985b67866d3d7743a0b0113e0
BLAKE2b-256 d6f27fbc804e66e1804a8b6d76368f7d21aa048e0c359b6d3a6f5baab8e3cae8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page