A simple extendable CLI tool.
Project description
============================================================ BABICLI NOTES / DOCUMENTATION
Project: babicli Description: A fast and extendable command-line tool with a plugin architecture. All functionality lives inside plugins.
============================================================ INSTALLATION (pip)
Install locally: pip install .
Update: pip install --upgrade babicli
Run: babicli help
========================================================= AVAILABLE COMMANDS (plugins)
bench – Run CPU and disk benchmarks cache clear – Delete all cache files cache show – Show the cache directory cache size – Display the total cache size diskguard – Detect disk usage issues and warn when space is low doctor – Diagnose system problems (DNS, network, pip) help – Show all available commands mgenerate – Automatically generate a new plugin modules – List all loaded plugins netinfo – Show local and public IP address information ranum – Generate a chaotic 32-digit random number sysinfo – Display OS, CPU, RAM, and storage information
========================================================= HOW TO CREATE NEW PLUGINS
Option 1: Manually
Create new file in: babicli/src/babicli/plugins/myplugin.py
Add:
def run():
print("My plugin works!")
Then run: babicli myplugin
Option 2: Automatically (recommended)
babicli mgenerate myplugin
This will generate: plugins/myplugin.py
With a template that looks like:
def run():
print("Plugin myplugin loaded successfully!")
=========================================================
TROUBLESHOOTING
-
babicli: command not found → reinstall: pip install .
-
Plugin not found: → ensure file is located in: src/babicli/plugins/NAME.py
→ ensure file name contains only lowercase letters + digits
-
Updated code not working after pip install: → remove old builds: rm -rf dist build .egg-info (PowerShell equivalent:) Remove-Item -Recurse -Force dist Remove-Item -Recurse -Force build Get-ChildItem -Filter ".egg-info" | Remove-Item -Recurse -Force
→ rebuild: python -m build
→ upload: twine upload dist/*
-
Plugins not detected → check plugins/init.py exists → check for uppercase letters in filenames → print loaded plugins:
python - << 'EOF' import pkgutil, babicli.plugins print([m.name for m in pkgutil.iter_modules(babicli.plugins.path)]) EOF
========================================================= NOTES FOR FUTURE DEVELOPMENT
Ideas for future plugins:
- memwatch – detect RAM leaks
- powercheck – detect undervoltage on Raspberry Pi
- sdhealth – detect SD card corruption
- netdoctor – deep network diagnostics
- bootcheck – detect boot-level problems
- aptfix – fix package manager locks
- logguard – detect log file explosion (100GB logs)
- zombies – detect zombie processes
- sshwatch – detect brute-force attempts (safe)
============================================================
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 babicli-0.1.6.tar.gz.
File metadata
- Download URL: babicli-0.1.6.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32d7c03892718ae768c25e678cde5cf88ae9993309868644b153075f75160d0e
|
|
| MD5 |
2376a41d5de46b3a3359e3d2fb2c78a3
|
|
| BLAKE2b-256 |
2373ff0f9d02d43f6a8c002dd992c8851b668473fe0b4236ef315150865c3ada
|
File details
Details for the file babicli-0.1.6-py3-none-any.whl.
File metadata
- Download URL: babicli-0.1.6-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff088b1d9cef17bdb544f24e206e12a0ee71dfa4cf867c9cb27fb7d0d43719d2
|
|
| MD5 |
9af3e2e482eec0e901b0232b4a6db85f
|
|
| BLAKE2b-256 |
2c6d564f52c93f1c4a108b4bdec0664a9844e0317549bf5db47c4f0ae438fb30
|