kleo-receipts
Named for KLEO, the Assaultron shopkeeper in Fallout 4. Every good merchant needs a receipt printer.
CLI tool for printing task tickets to Epson receipt printers. Fetches tasks from Things and prints them as physical tickets with QR codes for "scan to complete".
Install
brew install yesawoo/tap/kleo-receipts
Or with pip:
pip install kleo-receipts
Usage
# Discover network printers
kleo discover
# Print a single task ticket
kleo print-task "Fix the login bug" --auto
# Preview without printing
kleo print-task "Fix the login bug" --preview
# Server mode: periodically fetch and print tasks from Things
kleo serve --auto
# Custom schedule and tag filter
kleo serve --every "1 day at 09:00" --tag focus --auto
Background Service (Homebrew)
Run kleo as a background launchd service that auto-starts on login:
# Start the service
brew services start kleo-receipts
# Check status
kleo status
# Stop the service
brew services stop kleo-receipts
The service runs kleo serve with no arguments — all configuration comes from the config file. Use kleo config set to customize before starting:
# Configure schedule (default: daily at 9:00 AM)
kleo config set schedule.every="1 day at 09:00"
# Configure tag filter (default: 5m)
kleo config set schedule.tag=focus
# Set Things auth token for QR codes
kleo config set things.auth_token=YOUR_TOKEN
# Disable auto-discovery if using a specific printer
kleo config set printer.printer_name=kleo
Configuration
Kleo loads configuration from ~/.config/kleo/config.toml, environment variables, and CLI flags (highest priority).
# Show current config with sources
kleo config show
# Set a value
kleo config set schedule.every="2 hours"
# Show config file path
kleo config path
Config file format (~/.config/kleo/config.toml):
[schedule]
every = "1 day at 09:00"
tag = "5m"
strategy = "random"
[printer]
auto = true
# printer_name = "kleo"
# host = "192.168.1.100"
[things]
# auth_token = "your-token-here"
Priority: CLI flags > config file > environment variables > defaults.
Environment Variables
| Variable | Default | Description |
|---|---|---|
KLEO_EVERY |
"1 day at 09:00" | Schedule interval |
KLEO_TAG |
"5m" | Things tag to filter |
KLEO_STRATEGY |
"random" | Task selection strategy |
KLEO_PRINTER_NAME |
- | Bonjour printer name |
KLEO_PRINTER_HOST |
- | Network printer host |
KLEO_THINGS_AUTH_TOKEN |
- | Things URL auth token (required for QR codes) |
License
MIT
Metadata
Release files for kleo-receipts 0.5.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 | Provenance | Actions |
|---|---|---|---|---|
| kleo_receipts-0.5.0.tar.gz | 19.7 kB | Without provenance | Details for kleo_receipts-0.5.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kleo_receipts-0.5.0-py3-none-any.whl | Python 3 | none | any | Details for kleo_receipts-0.5.0-py3-none-any.whl |
Total release size: 45.5 kB
Release files / kleo_receipts-0.5.0.tar.gz
| Download URL | kleo_receipts-0.5.0.tar.gz |
|---|---|
| Size | 19.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b06d55a3b732d1695ee42547e2f7be4b67aaa4abe8bec2c7c9999d0d7a530f48
|
|
BLAKE2b-256 checksum How to use checksums |
f2641b5881de85a345cece6d6dd33565d25f42f7dbbe35980ae54b03bfc00073
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / kleo_receipts-0.5.0-py3-none-any.whl
| Download URL | kleo_receipts-0.5.0-py3-none-any.whl |
|---|---|
| Size | 25.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2ca7c075041d82a9ba808b25c471949737aaad99fb32d2b713f664a3a9ca1f0c
|
|
BLAKE2b-256 checksum How to use checksums |
92995f598d7376070ced5306f6162177fc734150da8e121c98b86775a2db1e8c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for kleo-receipts 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.