Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dobraczka/recite
📖 Publish your poetry-based projects, without missing important steps
https://github.com/dobraczka/recite
packaging poetry publishing release-automation
Last synced: about 1 month ago
JSON representation
📖 Publish your poetry-based projects, without missing important steps
- Host: GitHub
- URL: https://github.com/dobraczka/recite
- Owner: dobraczka
- License: mit
- Created: 2023-01-19T16:11:12.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-27T15:04:59.000Z (over 1 year ago)
- Last Synced: 2024-09-14T11:21:35.376Z (3 months ago)
- Topics: packaging, poetry, publishing, release-automation
- Language: Python
- Homepage: https://recite.readthedocs.io/
- Size: 248 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
recite
`recite` intends to make releasing [poetry](https://python-poetry.org/)-based libraries easier and avoid missing important steps (e.g. adapting the changelog (because [you should keep one](https://keepachangelog.com/))).
```console
$ recite release patchrecite > 👀 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](https://pypa.github.io/pipx/):
```console
$ pipx install recite
```But you can also install it via pip:
```console
$ pip install recite
```# Usage
You can perform e.g a patch release with the command:
```console
$ recite release patch
```The classifiers are the same as poetry's bump rules of the it's [version command](https://python-poetry.org/docs/cli/#version).
To list the available checks use:
```console
$ recite list-checks
```You can find more info in the [docs](https://recite.readthedocs.io)
# 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.