Skip to content

πŸ“– Publish your poetry-based projects, without missing important steps

License

Notifications You must be signed in to change notification settings

dobraczka/recite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

53 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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.