Skip to main content

Tooling to ease creating releases

Project description

# 🛠️ 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:

  1. Milestones must match project versions and use the format `v1.2` or `v1.2.1`.

  2. Labels must be configured using the provided utility.

  3. 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`).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rellu-2.0.2.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rellu-2.0.2-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file rellu-2.0.2.tar.gz.

File metadata

  • Download URL: rellu-2.0.2.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for rellu-2.0.2.tar.gz
Algorithm Hash digest
SHA256 99270f553c930b9c7307811e299b27e1d33d543ef214f2928514a5ce2e504ea8
MD5 5c6468a8d5ee3ee05509201a32f66927
BLAKE2b-256 e8ce9fcf723e9810c78fb1eb1375af8419f2329132cf6b2fdc06dee2fc4d792a

See more details on using hashes here.

File details

Details for the file rellu-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: rellu-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for rellu-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 75d2d544a2dc9ae006a72e2ec0bc828e5115994dcbe4e4379737a763a6bbdb1f
MD5 6ad6ae76582a08d3b26ea55cc7a9b708
BLAKE2b-256 61c13e91f007f7871ceeb93ecd1c8d35e3c3c9d0ec15efdac97021e3947270aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page