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.
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| argonautcli-1.2.0.tar.gz | 22.9 kB | Without provenance | Details for argonautcli-1.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| argonautCli-1.2.0-py3-none-any.whl | Python 3 | none | any | Details for argonautCli-1.2.0-py3-none-any.whl |
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
|
Security for argonautCli 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.