Atikin-Click — lightweight developer-friendly CLI toolkit (autocomplete, colored output, progress & spinners).
Project description
Atikin-Click
Atikin-Click — lightweight, developer-friendly CLI toolkit with autocomplete, colored output, progress bars & spinners.
Developed by: Atikin Verse
Features
- Simple, lightweight CLI framework
- Built-in colored output & rich integration
- Progress bars & spinners
- Autocomplete support for Bash/Zsh/Fish
- Plugin system for custom commands
Quick Start
CLI One-Liner
python -m atikin_click version
Plugin Example
python -m atikin_click plugin add my_plugin
python -m atikin_click plugin run my_plugin
Installation
Install via PyPI:
pip install atikin-click
For development:
git clone https://github.com/atikinverse/atikin-click.git
cd atikin-click
pip install -e .
Requirements
- Python 3.8+
- Optional:
richfor enhanced output
Usage
CLI Commands
# Check version
python -m atikin_click version
# Plugin commands
python -m atikin_click plugin list
python -m atikin_click plugin add my_plugin
python -m atikin_click plugin run my_plugin
# Shell completion
python -m atikin_click completion bash
Python API
from atikin_click.cli import default_cli
@default_cli.command("hello", help="Say hello")
def hello(name: str):
print(f"Hello {name}")
# Run programmatically
default_cli.run(["hello", "Atikin"])
Development
- Create a virtual environment:
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/Mac
source .venv/bin/activate
- Install development dependencies:
pip install -e .[dev]
- Run tests:
pytest -q --tb=short
Publishing to PyPI
- Build the package:
python -m pip install --upgrade build
python -m build
- Upload to PyPI:
pip install --upgrade twine
twine upload dist/*
- Test installation:
pip install atikin-click
python -m atikin_click version
Tip: Use TestPyPI first for trial uploads:
twine upload --repository testpypi dist/*
Contributing
- Fork the repository
- Create a branch for your feature/fix
- Run tests locally
- Submit a pull request
Report issues on GitHub Issues.
FAQ / Troubleshooting
Q: ImportError: cannot import name 'default_cli'
A: Ensure you are not running from inside src/. Use the installed package or root folder.
Q: Plugin commands not showing output A: Make sure plugin functions print or return values, CLI just triggers them.
License
MIT License © Atikin Verse
🔗 Author
Atikin Verse For more tools & libraries: https://atikinverse.com
🌐 Follow Us
| Platform | Username |
|---|---|
| atikinverse | |
| atikinverse | |
| atikinverse | |
| Twitter/X | atikinverse |
| Threads | atikinverse |
| atikinverse | |
| Quora | atikinverse |
| atikinverse | |
| Tumblr | atikinverse |
| Snapchat | atikinverse |
| Skype | atikinverse |
| GitHub | atikinverse |
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 atikin_click-0.0.1.tar.gz.
File metadata
- Download URL: atikin_click-0.0.1.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6317c13cd1ce557e1fc57ffd479922d7053a74872fd3e16cd0ab7c260c1e6ddd
|
|
| MD5 |
451e7122384b9912c13c745aab03a3a6
|
|
| BLAKE2b-256 |
ae0e9e580117a9d31d35cca7515ecbb67d706a8aedcf9ec52dbb030022ca1e0f
|
File details
Details for the file atikin_click-0.0.1-py3-none-any.whl.
File metadata
- Download URL: atikin_click-0.0.1-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df446541a316186f58667ea6304a02cc586555627645f50a51e50d0cd43afe2e
|
|
| MD5 |
f1325a9333153b94834178525073db80
|
|
| BLAKE2b-256 |
46205e27cfad5f9b1bdf7c40838ef5ce068524ee8a876ad657165ae2a2e5de76
|