# 🛠️ rellu – Utilities to Ease Creating Releases
This project provides tooling and templates to ease the creation of releases on GitHub and their publication on PyPI. It is primarily designed for Robot Framework and the tools and libraries in its ecosystem, but can naturally be used by other projects as well.
To successfully adopt this project, you should be familiar with at least the basics of Python packaging.
## ✨ Main Features
The core features of rellu are organized into reusable utilities and generic Invoke tasks:
### 1. Utilities (`rellu` module)
These utilities can be used by custom Invoke tasks and are directly importable from the rellu module:
Setting the project version, including automatically setting it to the next suitable development version.
Setting common labels in the issue tracker.
Generating release notes based on issues in the tracker. This requires the project to use predefined labels.
### 2. Generic `Invoke` Tasks (`rellu.tasks` module)
Cleaning up temporary files and directories.
`tasks.py`: An example file implementing Invoke tasks using the aforementioned utilities. Other projects can use it as an example or template.
`BUILD.rst`: A file containing step-by-step instructions for creating releases using the Invoke tasks defined in tasks.py, Git, and other tools. This file can also be used as a template.
`setup.py`: A file that follows general good practices and can also serve as a template. A very simple `MANIFEST.in` file is also included, though this project does not require a `setup.cfg`.
## 🔗 Dependencies
Rellu is designed to be used together with `Invoke`, which is also utilized internally. All project dependencies are listed in the `requirements.txt` and `requirements-build.txt` files.
### System Requirements:
Python: Rellu itself works only with Python 3.10 or newer. Projects that use it can, of course, also support older Python releases.
Operating System: It is developed and tested on Linux, but ought to work just fine on OSX. Using it on Windows may work, but this is neither tested nor officially supported.
## ⚙️ Required Project Setup
To be able to automatically generate release notes, the project’s issue tracker must be configured using these rules:
Milestones must match project versions and use the format `v1.2` or `v1.2.1`.
Labels must be configured using the provided utility.
Milestones and labels must be used consistently: * Valid issues must have their type defined as a label: `bug`, `enhancement`, or `task`. Issues with the task type are not included in the release notes. * Issues should have their priority set using the appropriate `prio-` labels. * Issues belonging to a certain milestone should have that milestone set. * Issues included in certain preview releases should have a matching label set (e.g., `a1`, `b2`, `rc3`).
Release files for rellu 2.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rellu-2.0.2.tar.gz | 14.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rellu-2.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.8 kB
Release files / rellu-2.0.2.tar.gz
| Download URL | rellu-2.0.2.tar.gz |
|---|---|
| Size | 14.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
99270f553c930b9c7307811e299b27e1d33d543ef214f2928514a5ce2e504ea8
|
|
BLAKE2b-256 checksum How to use checksums |
e8ce9fcf723e9810c78fb1eb1375af8419f2329132cf6b2fdc06dee2fc4d792a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / rellu-2.0.2-py3-none-any.whl
| Download URL | rellu-2.0.2-py3-none-any.whl |
|---|---|
| Size | 15.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
75d2d544a2dc9ae006a72e2ec0bc828e5115994dcbe4e4379737a763a6bbdb1f
|
|
BLAKE2b-256 checksum How to use checksums |
61c13e91f007f7871ceeb93ecd1c8d35e3c3c9d0ec15efdac97021e3947270aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|