No project description provided
Project description
Platitudes
A zero dependency clone of Typer. The most convenient way to make CLI out of your programs.
Quick Start
from enum import Enum
from pathlib import Path
from typing import Annotated
import platitudes as pl
app = pl.Platitudes()
class Color(Enum):
RED = 0
GREEN = 1
BLUE = 2
@app.command
def build_profile(
name: Annotated[str, pl.Argument(help="User name")], # Adding help strings
surname: str,
age: int,
photo_file: Annotated[
Path, pl.Argument(exists=True) # Paths can be checked for existence
],
favorite_color: Color = Color.RED, # Optional enum argument with a default
):
print(f"The user is named {name} {surname} and his favorite color is {favorite_color}")
print(f"Age: {age}")
print(f"Picture stored at: {photo_file}")
assert isinstance(photo_file, Path)
assert isinstance(favorite_color, Color)
if __name__ == "__main__":
app()
You can then show the help for build_profile
:
❯ python build_profile --help
usage: examples.py build_profile [-h] [--favorite-color {0,1,2}] name surname age photo-file
positional arguments:
name User name
surname
age
photo-file
options:
-h, --help show this help message and exit
--favorite-color {0,1,2}
And you can run the CLI with the positional and perhaps optional arguments:
❯ python example/examples.py build_profile G Ballesteros 42 ./LICENSE
The user is named G Ballesteros and his favorite color is Color.RED
Age: 3
Picture stored at: LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
platitudes-1.0.0.tar.gz
(6.3 kB
view details)
Built Distribution
File details
Details for the file platitudes-1.0.0.tar.gz
.
File metadata
- Download URL: platitudes-1.0.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.9 Darwin/22.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19526ad8a954e0f41605069c3c3428641bde07792a21320fb880201af2da5297 |
|
MD5 | 0757883d94a83b98b242a59794fa8820 |
|
BLAKE2b-256 | fb79e1dc0e67d657fda85e7bede2a2ac06f2d80eb461fe805146ae88250c99d5 |
File details
Details for the file platitudes-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: platitudes-1.0.0-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.9 Darwin/22.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2474cad45b7db3f1a204e7fabbcf64a761ba6732d75f4b0e85b09264ecd5d273 |
|
MD5 | 1a995f8b955e0f429098c3f3fae9694a |
|
BLAKE2b-256 | c5b7cc8b2b045f556e00d861e233a0ef184e239184461baf22cfd2f309cd6fe7 |