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.1.tar.gz (14.1 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.1-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rellu-2.0.1.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.20

File hashes

Hashes for rellu-2.0.1.tar.gz
Algorithm Hash digest
SHA256 eb183ae6f3343ea7f401552610d850e6e7c5ef9ae15611a95764b0789c68901a
MD5 d7fe9cab93310ba23f566c5727dd17e4
BLAKE2b-256 970825f74af168ed09cdfcd7c409317cdfbf37a901a5cea7c34105eebca83f9d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for rellu-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9ef466451ec72d4ad2de8a08d03c6ffbee291477a670f29327834a58c8825034
MD5 d850d4cd9a7607f14c4261f0481c99f1
BLAKE2b-256 ca56f650123f0bacde99ef9708a530c3634956710eb1b5d63c43d37259b6a533

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