Skip to content

r10n

Automate repetitive data and workflow tasks on your terms — with a beautiful CLI and full transparency.



What is r10n?

r10n (routine automation) is a Python CLI toolkit to automate day-to-day tasks without code. Each automation is interactive, safe, and auditable.

Run anywhere using uv — no install needed!

Features:

  • Beautiful Rich-powered terminal UI
  • Persistent home screen for installed binary use
  • Step-by-step interactive prompts
  • Run instantly with uvx or install locally
  • Generate contacts, fill PDFs, optimize images, send emails, and more

Quick Start

Run any automation without installation:

uvx --from git+https://github.com/pruthivithejan/r10n.git r10n --help

Clone for repeated use:

git clone https://github.com/pruthivithejan/r10n.git
cd r10n
uv sync
uv run r10n --help

Install the standalone binary:

curl -fsSL https://raw.githubusercontent.com/pruthivithejan/r10n/main/install.sh | sh

Update later with:

r10n upgrade

Launch the terminal UI:

r10n

Available Automations

Automation Command Description
Contacts r10n contacts Generate VCF contact cards from phone numbers
Fill PDFs r10n fill-pdfs Fill PDF templates with data
Images r10n images Optimize and convert images to WebP
Logos r10n logos Download company logos from SVGL
Email r10n email Send bulk emails with attachments
Colors r10n colors Convert CSS colors to oklch()

Browse all: Automations


Example: Generate Contacts

$ uvx --from git+https://github.com/pruthivithejan/r10n.git r10n contacts

╭───────────────────────────────────────────────────────────────╮
               Contact Card Generator                                   Convert phone numbers to VCF contact cards              ╰───────────────────────────────────────────────────────────────╯

Step 1/3: Select input file
  Enter path to file with phone numbers: numbers.txt

Step 2/3: Set contact name prefix
  Enter prefix for contact names [Contact]: Customer

Step 3/3: Set output file
  Enter output VCF file path: customers.vcf

Summary:
  Input file:  numbers.txt
  Prefix:      Customer
  Output file: customers.vcf

Proceed with contact generation? [y/n]: y

Generating contacts...

Done!
┌─────────────────────┬──────────────┐
 Total numbers        150           Valid contacts       145           Duplicates removed   3             Invalid numbers      2             Output file          customers.vcf│
└─────────────────────┴──────────────┘

Requirements

  • Python 3.10+
  • uv package manager

Install uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Get Help


License

MIT — see LICENSE for details.