Lumiera
Swiss-army CLI toolbox for automating data, code, and developer tasks.
Lumiera (successor to pythonKitchen) centralizes all your one-off Python scripts into a clean, discoverable, and extensible CLI – so you never lose a handy script again.
Features
- Organized namespaces: All scripts grouped by purpose (backup, devutils, scrapers, etc.)
- Unified CLI: Instantly invoke any tool using
lumiera <category> <command> - Easy to extend: Drop new scripts or sub-packages in – Lumiera auto-discovers them!
- Test scripts included: Ship or keep local ad-hoc REST probes and test helpers.
- Click-powered CLI: Rich help, flags, and auto-completion for every command
- PyPI-ready structure: All scripts and sub-packages organized for clean builds, wheel, and
pipxusage
Installation
# (Recommended: install in a virtualenv or use pipx)
cd /path/to/Lumiera
poetry install
# or after publishing
pip install lumiera
Usage
Get help and a list of all available commands:
lumiera --help
lumiera devutils --help
lumiera backup run --help
Examples:
-
Run a custom directory tree visualizer:
lumiera devutils tree ~/projects -n 5 -L 3
-
Create a backup job (configured in your Dropbox backup_config.json):
lumiera backup --job my_important_files
-
Pretty-print JSON:
lumiera devutils pretty-json myfile.json -o out.json
Project Layout
lumiera/ # src/lumiera
├── __init__.py # version & high‑level helpers
├── cli.py # root Click group, auto‑registers sub‑CLIs
│
├── backup/ # backup & restore utilities
│ ├── __init__.py
│ └── jobs.py
│
├── devutils/ # small one‑off developer utilities
│ ├── __init__.py
│ ├── custom_tree.py
│ ├── seq_renamer.py
│ ├── resize_pdf.py
│ └── pretty_json.py
│
├── export/ # project/code exporters
│ ├── __init__.py
│ └── project.py
│
├── pypi/ # helpers around PyPI publishing / locking
│ ├── __init__.py
│ ├── availability.py
│ └── yank.py
│
├── data/ # payload munging + JSON helpers
│ ├── __init__.py
│ ├── create_subset.py
│ ├── split_payload.py
│ ├── extract_course.py
│ ├── generate_desc.py
│ └── ml_vfx.json # data asset
│
├── scrapers/ # web‑scraping / Selenium driven tools
│ ├── __init__.py
│ ├── rebelway_dl.py
│ ├── report_sources.py
│ ├── extract_lessons.py
│ └── udemy_curriculum.py
│
├── tests/ # ad‑hoc REST‑API probes (not shipped)
│ ├── __init__.py
│ ├── test_imgseg.py
│ └── test_predict.py
└── utils.py # misc helpers shared across sub‑packages
Every folder has an __init__.py and can expose CLI sub-commands via a cli group.
Command Structure
-
All CLI entry-points are grouped: Run any script as a subcommand:
lumiera <namespace> <command> -
Examples:
lumiera backup run --job ...lumiera devutils tree [options]lumiera pypi availability --names foo,barlumiera scrapers rebelway-dl ...
-
Auto-discovery: New scripts with
cligroups are automatically added to the main CLI.
Migration from pythonKitchen
- All scripts are now discoverable under a logical sub-package.
- Imports and hardcoded paths are updated: use
lumiera.*imports and paths referencingLumierainstead ofpythonKitchen. - CLI entry-point: Use
lumierainstead ofpythonkitchen. - Legacy: You may release a final pythonKitchen version that prints a migration message and points to Lumiera.
Contributing
- Extend: Drop any new script into an appropriate sub-package and expose a
@cli.command()or group in itscli.py. - Test: Add test helpers or probes in
/tests– these are never shipped to PyPI. - Docs: Keep this README and docstrings up-to-date for new commands.
License
MIT. © Suhail 2024+
Metadata
Release files for lumiera 0.1.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lumiera-0.1.12.tar.gz | 114.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lumiera-0.1.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 157.4 kB
Release files / lumiera-0.1.12.tar.gz
| Download URL | lumiera-0.1.12.tar.gz |
|---|---|
| Size | 114.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d20199a1b12e49c723a6f9f62b533baee335f80924e15e6b7a7ed728025fd611
|
|
BLAKE2b-256 checksum How to use checksums |
b6d9e33f48dcb025e80b05f97b11154a8ee059e32d4334cd53c2d63caa635219
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Release files / lumiera-0.1.12-py3-none-any.whl
| Download URL | lumiera-0.1.12-py3-none-any.whl |
|---|---|
| Size | 43.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
29c90180e00348d7d6ac4352c83a8e97822e3cfa1b0d4c583092a2997029d076
|
|
BLAKE2b-256 checksum How to use checksums |
4c4f4278cb5ceef2a751e0be8ae033c74bf3b158c7a0f30cf144a23d6c91d8d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|