← Home

Ticketsnake

Status: maintained | Years active: 2024-present | Programming Language: Python | License: GPLv3 | Source code

Ticketsnake is a CLI to interact with Redmine instances. It is designed to have minimal dependencies. I mostly wrote it for fun and to practice writing good CLIs following good CLI usability guidelines, but I have found it very useful for my work at Open Data Services Co-operative and I believe it is used by at least one other person there as well.

Ticketsnake distinguishes itself from other similar projects by being a single-file Python script and only requiring a single dependency which is not in the Python standard libraries (click). This makes Ticketsnake excessively easy to install and very lightweight. Click is available in the Debian repos (and likely many others), so users of Ticketsnake can expect to be able to use Ticketsnake without having to install it via pipx and have competing package managers managing software on their systems.

Ticketsnake also distinguishes itself with a few nice features and close attention to detail to CLI usability. It knows when it’s being printed to a terminal and when it’s being piped to be the output of other software, it supports JSON as well as human-oriented output, and respects the user by respecting the XDG base directory specification and environment variables such as NO_COLOR.