Skip to main content

Epson receipt printer based task ticket system

Project description

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

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

kleo_receipts-0.4.0.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kleo_receipts-0.4.0-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file kleo_receipts-0.4.0.tar.gz.

File metadata

  • Download URL: kleo_receipts-0.4.0.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for kleo_receipts-0.4.0.tar.gz
Algorithm Hash digest
SHA256 87a039281d7d5afed636b375a2ff1f562f1f97ee16f2d41f19a1693dd5848bc7
MD5 c37c97cd79761bfe70b74e346c344261
BLAKE2b-256 df5a027632257659293e7a5b7678d8c33fd9b1eeb47c796c6a2d507b20e6c2d2

See more details on using hashes here.

File details

Details for the file kleo_receipts-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: kleo_receipts-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for kleo_receipts-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bd62d2b41960a9f5a6816e34ecde4e20e3865fa9a11a140a63fc7c321ac11cef
MD5 f9ee0e5bfbe5e41571195a5c3d53b62a
BLAKE2b-256 c58b77fa2476ad2c85d52886e85b9fda5dce2cc86685d41a568f1fe7f55bc1a1

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