🌊seali
A does-one-thing-well library for building CLIs.
Designed to be trivially easy to use.
- Zero dependencies;
- Subcommands;
- Fish completions;
- Elegant
--helpmessages (with line-breaks, tab-stops, and ANSI escape codes); - Tiny day-to-day API:
seali.{command, group, Doc, Style}.
This exists because I wanted ✨pretty help text✨ beyond what any other CLI library supports.
Installation
pip install seali
Example
import seali
@seali.command
def my_program(pos: str, /, *, someflag: bool = False):
...
if __name__ == "__main__":
my_program()
python this_file.py foobar --someflag
Documentation
Available at https://docs.kidger.site/seali.
Alternatives
-
firewas the main inspiration forseali.
I love their 'trivial to use' UX: just call the library on your function. Relative tofire, we aim to minimise their massive surface area (they also allow you to decorate classes, dictionaries, ..., have an interactive mode, a trace mode, ...), and fix some UX issues (e.g.-sshort flags, help messages) for a simpler more opinionated library. -
clickis the 'standard' choice for Python CLIs.
Honourary mention to other similar libraries that live in this niche, for exampletyperorrich-click.
We aim to be (a) smaller/simpler and (b) offer a few nice UX features like fully customisable help messages. -
argparseis in the Python stdlib.
This is usually noted for being highly verbose. We aim to be much easier to use.
As a particular focus, we aim to offer best-in-class help messages, with support for reflowing, tabstops, and respecting ANSI escape codes.
Metadata
Release files for seali 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| seali-0.4.0.tar.gz | 20.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| seali-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.6 kB
Release files / seali-0.4.0.tar.gz
| Download URL | seali-0.4.0.tar.gz |
|---|---|
| Size | 20.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f55bf97b63fa510bfe9cb39e7a497dc75e1fc4cac8f1f05c6d66cab8f97df17
|
|
BLAKE2b-256 checksum How to use checksums |
e2a70a5112fc1787090aee188eaa7dd0353801bd8ae98897f6f09e3d56b633a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / seali-0.4.0-py3-none-any.whl
| Download URL | seali-0.4.0-py3-none-any.whl |
|---|---|
| Size | 27.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
85b4fbb6594cbff9c67844eb78b823fcb5790d016e834a67f3d5d73af9ed1d95
|
|
BLAKE2b-256 checksum How to use checksums |
ff2a65074a06b8ac838608e68dcdb60e5c55f7f9de75a34716fb5d8d2fefc84d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|