Extensible Typer CLI with hot-pluggable commands. NexusCLI loads built-in and third-party plugins on every invocation so you can add new commands by installing packages.
Project description
NexusCLI
Extensible Typer CLI with hot-pluggable commands. NexusCLI loads built-in and third-party plugins on every invocation so you can add new commands by installing packages.
Features
- Plugin-based command system with runtime discovery
- Built-in commands for plugin management and batch file renaming
- Configurable plugin sources (entry points and optional folder loader)
- Per-plugin and global language settings
Installation
For end users, install inside a virtual environment:
pip install nexuscli
Quick Start
ncli --help
ncli plugin list
# Batch rename preview (dry-run is default)
ncli file rename ./my-folder --pattern "\s+" --replacement "_"
# Apply the rename plan
ncli file rename ./my-folder --pattern "\s+" --replacement "_" --apply
Installing Plugins
After installing NexusCLI, add plugins via pip:
# Install a local plugin folder
pip install /path/to/your-plugin
# Install a plugin published on PyPI
pip install your-plugin-package
Plugins should register into the nexuscli.command entry point group so NexusCLI can discover them on startup. After installing the plugin, type ncli again to verify that the plugin was installed successfully.
Configuration
Inspect or update plugin settings:
ncli plugin config
ncli plugin config-path
Manage plugin directories via interactive prompt or the --set-plugin-dir, --add-plugin-dir, --remove-plugin-dir options.
Note:
ncli plugin config --folder-loader is ineffective for enabling directory loading; this command is deprecated soon. Ignore it.
Development
pip install -e ".[dev]"
pytest
License
MIT
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 nexus_open_cli-0.1.0.tar.gz.
File metadata
- Download URL: nexus_open_cli-0.1.0.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed651b3baf67aa466fa16e704fb975ebf226a53dc3e2ea8667b1cecd48610e69
|
|
| MD5 |
ac81f337f95c8efd4b0c36fa306b58b0
|
|
| BLAKE2b-256 |
053f1909b380f4837d995b03ea3445ccf4080dd2b26141b57574d3896d2d1bdb
|
File details
Details for the file nexus_open_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nexus_open_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09ddbf0327645f9d460452ef16f79d975b13f5b0823288891847df9b70b1988c
|
|
| MD5 |
95fd6761e8e3b72e58573ddd11b8717c
|
|
| BLAKE2b-256 |
8e2350fcf173d09b786c7771c810f0461fac16227e328e3b38eea72d4e79228f
|