ArgøNaut: Advanced Argument Parsing Library
📚 Table of Contents
- Introduction
- Features
- Installation
- Quick Start
- Advanced Usage
- Plugin System
- API Reference
- Examples
- Contributing
- License
🚀 Introduction
ArgøNaut is a sophisticated and flexible command-line argument parsing library for Python applications. It extends the capabilities of standard argument parsing libraries with advanced features, a robust plugin system, and cross-platform compatibility.
✨ Features
- 🎨 Intuitive API for defining and parsing arguments
- 🌳 Support for subcommands and nested command structures
- 🔌 Robust plugin system for extensibility
- 💻 Cross-platform compatibility (Windows, macOS, Linux)
- 🛡️ Advanced input sanitization and error handling
- 📚 Customizable help generation and formatting
- 🐚 Shell completion script generation for multiple shells
- 📊 Progress bar and colored output capabilities
- 📁 Configuration file support (YAML, JSON)
- 🌿 Environment variable integration
- 📘 Automatic man page generation
- ⚡ Asynchronous support for argument parsing and plugin execution
📦 Installation
Install ArgøNaut using pip:
pip install argonautCli
🚀 Quick Start
from argonaut import Argonaut
parser = Argonaut(description="My awesome CLI tool")
parser.add("--name", help="Your name")
parser.add("--age", type=int, help="Your age")
args = parser.parse()
print(f"Hello, {args['name']}! You are {args['age']} years old.")
🔧 Advanced Usage
Asynchronous Support
import asyncio
from argonaut import Argonaut
parser = Argonaut()
parser.add("--async-option", help="An async option")
async def main():
args = await parser.parse_async()
result = await parser.execute_plugin_async("my_plugin", args)
print(result)
Environment Variables
from argonaut import Argonaut
parser = Argonaut()
parser.add("--api-key", env_var="API_KEY", help="API key (can be set via API_KEY env var)")
args = parser.parse()
print(f"API Key: {args['api_key']}")
🔌 Plugin System
ArgøNaut features a powerful plugin system that allows you to extend the functionality of your CLI applications.
from argonaut import Plugin, PluginMetadata
import asyncio
class MyPlugin(Plugin):
@property
def metadata(self) -> PluginMetadata:
return PluginMetadata(
name="my_plugin",
version="1.0.0",
description="A sample plugin for ArgøNaut",
author="Your Name",
website="https://example.com",
tags=["sample", "demo"]
)
def initialize(self, context):
self.context = context
def execute(self, args):
return f"Hello from MyPlugin! Args: {args}"
async def execute_async(self, args):
# Asynchronous execution method
return await some_async_operation(args)
def on_load(self):
print("Plugin loaded")
def on_unload(self):
print("Plugin unloaded")
def on_command_execution(self, command):
print(f"Command '{command}' is being executed")
📚 API Reference
For a complete API reference, please visit our documentation.
📋 Examples
For more examples, please refer to the examples directory in the repository.
🤝 Contributing
We welcome contributions to ArgøNaut! Please see our Contributing Guide for more details on how to get started.
📄 License
ArgøNaut is released under the MIT License. See the LICENSE file for full details.
For more information and detailed documentation, visit ArgøNaut's Documentation.
Release files for argonautCli 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| argonautcli-1.2.0.tar.gz | 22.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| argonautCli-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.3 kB
Release files / argonautcli-1.2.0.tar.gz
| Download URL | argonautcli-1.2.0.tar.gz |
|---|---|
| Size | 22.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ed318a12ac5009b797dff433d3f6766f8d313f5c38dcf43ae85d04442cdab9e6
|
|
BLAKE2b-256 checksum How to use checksums |
265ed47965df92e5450fc0b7d1cec01ff552a001cd4c9b56bd141906d6eeff29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|
Release files / argonautCli-1.2.0-py3-none-any.whl
| Download URL | argonautCli-1.2.0-py3-none-any.whl |
|---|---|
| Size | 24.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49940afdfcecb427b71cd8779bf32f1d2a54f68b28f9605faca23e2c47ef1f73
|
|
BLAKE2b-256 checksum How to use checksums |
837ad5f416ecf232d3a8e21d28780ee9281f00594b6b40a6f83e472b2302bb2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|