Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

argonautCli

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

argonautCli

A custom argument parsing library for CLI applications with a focus on simplicity and ease of use. ArgøNaut is designed to make it easy to create powerful and flexible command-line interfaces.

  • 1.2.0
  • PyPI
  • Socket score

Maintainers
1

ArgøNaut: Advanced Argument Parsing Library

ArgøNaut Logo

GitHub stars GitHub issues License


📚 Table of Contents

  1. Introduction
  2. Features
  3. Installation
  4. Quick Start
  5. Advanced Usage
  6. Plugin System
  7. API Reference
  8. Examples
  9. Contributing
  10. 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.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc