Skip to main content

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

  1. babicli: command not found → reinstall: pip install .

  2. Plugin not found: → ensure file is located in: src/babicli/plugins/NAME.py

    → ensure file name contains only lowercase letters + digits

  3. 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/*

  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

babicli-0.1.7.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

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

babicli-0.1.7-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file babicli-0.1.7.tar.gz.

File metadata

  • Download URL: babicli-0.1.7.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for babicli-0.1.7.tar.gz
Algorithm Hash digest
SHA256 16f90a7ddb15ccfc9f32b8b51a9a81826b76a49bda6dce5d5a289c1adfc32894
MD5 45ce869478da9baa8bc4990a8cb1cba2
BLAKE2b-256 062484c1deec6be891542d177596aa51b5b16d57f9a183ab3cd6cb234595629d

See more details on using hashes here.

File details

Details for the file babicli-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: babicli-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for babicli-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 3a2aef9e167204d338b274055e56674a0b8c1c2189aaaa0c7bb58088ea165f2e
MD5 bccff3ee84eb1aaa727fbb3fb15afd65
BLAKE2b-256 4b270fcdf801d8f8a61679a7da5c5b98f95a69058b31519c2ea1a205f959ae26

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