Metadata-Version: 2.5
Name: release-creator
Version: 3.0.0
Import-Name: release_creator
Summary: Release preparation tools for changelogs and GitHub
Project-URL: Changelog, https://release-creator.readthedocs.io/en/latest/changelog.html
Project-URL: Documentation, https://release-creator.readthedocs.io/
Project-URL: Homepage, https://release-creator.readthedocs.io/
Project-URL: Source, https://github.com/tox-dev/release-creator
Project-URL: Tracker, https://github.com/tox-dev/release-creator/issues
Author-email: Bernát Gábor <gaborjbernat@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: GitHub releases,changelog,release automation,release notes,towncrier
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.15
Classifier: Topic :: Documentation
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Typing :: Typed
Requires-Python: >=3.15
Requires-Dist: packaging>=26
Requires-Dist: pyyaml>=6
Description-Content-Type: text/markdown

# release-creator

![release-creator logo](https://raw.githubusercontent.com/tox-dev/release-creator/main/docs/_static/logo-128.png)

[![PyPI](https://img.shields.io/pypi/v/release-creator?style=flat-square)](https://pypi.org/project/release-creator/)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/release-creator.svg)][pypi]
[![check](https://github.com/tox-dev/release-creator/actions/workflows/check.yaml/badge.svg)][checks]

Release preparation tools for Python projects that keep a Towncrier changelog. The
[documentation](https://release-creator.readthedocs.io/) has a tutorial, how-to guides, a generated command reference,
and an explanation of where each part of a release comes from.

## Commands

`tags` calculates the next version from pending fragments and checks a proposed tag against existing ones:

```bash
git tag --list | uvx --from 'release-creator' release-creator tags --next auto
git tag --list | uvx --from 'release-creator' release-creator tags 1.2.3 --require-newer
```

`notes` prints the section of one release from a Markdown or reStructuredText changelog, without its heading and in the
changelog's own format. Pass it to `gh release create --notes-file` together with `--generate-notes`, which adds the
pull request list and credits:

```bash
uvx --from 'release-creator' release-creator notes --changelog CHANGELOG.md --tag 1.2.3 > section.md
gh release create 1.2.3 --verify-tag --notes-file section.md --generate-notes --notes-start-tag 1.2.2
```

`hooks` pins the complete dependency closure of each Python pre-commit hook under a seven-day cooldown, and
`hooks --check` verifies the pins on a pull request. `validate-fragment-deletions` checks that a release patch deletes
only consumed fragments. `marketplace` compares a signed JetBrains plugin with the published version.

For automation, replace `release-creator` after `--from` with a tested `release-creator==VERSION`.

## Development and releases

See [contributing](https://github.com/tox-dev/release-creator/blob/main/CONTRIBUTING.md) for the fragment format and release process. Run `tox -e 3.15,type,pkg_meta,docs`
and `prek run --all-files --config .pre-commit-config.yaml` before a PR.

[checks]: https://github.com/tox-dev/release-creator/actions/workflows/check.yaml
[pypi]: https://pypi.org/project/release-creator/
