Swiss‑army toolbox CLI (successor to pythonKitchen)
Project description
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+
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lumiera-0.1.10.tar.gz.
File metadata
- Download URL: lumiera-0.1.10.tar.gz
- Upload date:
- Size: 114.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2e35102eeef69abae1e9005fb789eae891ff698983cfde37079c324a1b16f57
|
|
| MD5 |
cd56b78b8b14100004a72c81ca4c5d9a
|
|
| BLAKE2b-256 |
616d4005afafc7acdec76cf85407336f72f4153f086e5960a30bc8d71eb55939
|
File details
Details for the file lumiera-0.1.10-py3-none-any.whl.
File metadata
- Download URL: lumiera-0.1.10-py3-none-any.whl
- Upload date:
- Size: 43.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
229b3a206f605c64da3e51644427faf289fd317a24e30f7e5885082c533f965d
|
|
| MD5 |
a30859f1949fdacdbb7510456145600a
|
|
| BLAKE2b-256 |
299e70fdc7f33ca0abd22ef3696bb74b188789c860d818392d47b80b32d11153
|