Skip to content

Latest commit

 

History

History
80 lines (62 loc) · 3.34 KB

README.md

File metadata and controls

80 lines (62 loc) · 3.34 KB

recite logo

recite

Actions Status Documentation Status Stable python versions Code style: black

recite intends to make releasing poetry-based libraries easier and avoid missing important steps (e.g. adapting the changelog (because you should keep one)).

$ recite release patch

recite > 👀 Checking everything to make sure you are ready to release 👀
recite > 1: ✓ Make sure you have a (non-empty) pyproject.toml
recite > 2: ✓ Make sure you're on main/master branch
recite > 3: ✓ Make sure git is clean
recite > 4: ✓ Run test-suite
recite > 5: ✓ Make sure changelog was updated
recite > 🤓 Everything looks perfect! 🤓
recite > I will perform the following steps:
recite >        * Would bump version from 0.1.0 to 0.1.1
recite >        * Commit version bump
recite >        * Create git tag 0.1.1
recite >        * Push git tag 0.1.1
recite >        * Remind you to upload build as github release
Do you want to proceed? [y/N]: y
recite > ✨ Performing release ✨
recite > 1: ✓ Bump version
recite >        * Bumped version from 0.1.0 to 0.1.1
recite > 2: ✓ Commit version bump
recite > 3: ✓ Create git tag 0.1.1
recite > 4: ✓ Push git tag 0.1.1
recite > 5: ✓ Build and publish with poetry
Please create a github release now! Did you do it? [y/N]: y
recite > 6: ✓ Remind you to upload build as github release
recite > 🚀 Congrats to your release! 🚀

Installation

Since recite is a python application it is recommended to install it via pipx:

$ pipx install recite

But you can also install it via pip:

$ pip install recite

Usage

You can perform e.g a patch release with the command:

$ recite release patch

The classifiers are the same as poetry's bump rules of the it's version command.

To list the available checks use:

$ recite list-checks

You can find more info in the docs

Why?

Previously I used a github action to automatically build and publish a new version of a library if a new tag was pushed. However, sometimes I forgot something crucial (e.g. to adapt the changelog). In this case I had to rush to stop the github action before it would publish the release to pypi (where it would lie forever unable to be rectified). With recite it is ensured all the necessary checks are in place before any tags are created.