argon4ut-cli


Nameargon4ut-cli JSON
Version 0.3.1 PyPI version JSON
download
home_pagehttps://github.com/sc4rfurry/argon4ut
SummaryA 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.
upload_time2024-10-11 09:55:52
maintainerNone
docs_urlNone
authorsc4rfurry
requires_python>=3.6
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ArgΓΈNaut: Advanced Argument Parsing Library

<p align="center">
  <img src="Docs/Argonaut-Logo.png" alt="ArgΓΈNaut Logo" width="60%" style="max-width: 500px;">
</p>

<p align="center">
  <a href="https://github.com/sc4rfurry/argonaut"><img src="https://img.shields.io/github/stars/sc4rfurry/Argonaut?style=social" alt="GitHub stars"></a>
  <a href="https://github.com/sc4rfurry/argonaut/issues"><img src="https://img.shields.io/github/issues/sc4rfurry/Argonaut" alt="GitHub issues"></a>
  <a href="https://github.com/sc4rfurry/argonaut/blob/main/LICENSE"><img src="https://img.shields.io/github/license/sc4rfurry/Argonaut" alt="License"></a>
</p>

---

## πŸ“š Table of Contents

1. [Introduction](#introduction)
2. [Features](#-features)
3. [Installation](#-installation)
4. [Project Structure](#-project-structure)
5. [Core Components](#-core-components)
6. [Plugin System](#-plugin-system)
    - [Example Plugins](#-example-plugin)
7. [Utility Modules](#-utility-modules)
8. [Usage Examples](#-usage-examples)
    - [Examples](#examples)
9. [Contributing](#-contributing)
10. [License](#-license)

---

## πŸš€ Introduction

**ArgΓΈNaut** is a sophisticated argument parsing library for Python, designed to provide developers with a powerful, flexible, and user-friendly tool for building command-line interfaces (CLIs). It extends the capabilities of the standard `argparse` library with advanced features and a robust plugin system.

---

## ✨ Features

- 🎨 Intuitive API similar to argparse
- 🌳 Support for subcommands
- πŸ”§ Custom argument types and validators
- 🌿 Environment variable integration
- πŸ’» Interactive mode
- πŸ”Œ Extensible plugin system
- πŸ“Š Progress bar and fancy output options
- πŸ”’ Secure input handling
- πŸ”€ Mutually exclusive arguments
- πŸ“ Argument groups

---

## πŸ“¦ Installation

Install ArgΓΈNaut using pip:

```bash
pip install argonaut
```

---

## πŸ“ Project Structure

```bash
Argonaut/
β”œβ”€β”€ argonaut/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ arguments.py
β”‚   β”œβ”€β”€ core.py
β”‚   β”œβ”€β”€ decorators.py
β”‚   β”œβ”€β”€ exceptions.py
β”‚   β”œβ”€β”€ fancy_output.py
β”‚   β”œβ”€β”€ input_sanitizer.py
β”‚   β”œβ”€β”€ logging.py
β”‚   β”œβ”€β”€ plugins.py
β”‚   β”œβ”€β”€ shell_completion.py
β”‚   β”œβ”€β”€ utils.py
β”‚   └── plugins/
β”‚       └── FileAnalyzer/
β”‚           β”œβ”€β”€ __init__.py
β”‚           β”œβ”€β”€ file_analyzer_plugin.py
β”‚           β”œβ”€β”€ README.md
β”‚           └── usage.py
β”œβ”€β”€ Docs/
β”‚   β”œβ”€β”€ Argonaut-Logo.png
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ script.js
β”‚   └── style.css
β”œβ”€β”€ examples/
β”‚   └── (Examples with usage of Argonaut)
β”œβ”€β”€ LICENSE
β”œβ”€β”€ setup.py
β”œβ”€β”€ requirements.txt
└── README.md
```

---

## 🧱 Core Components

### 1. core.py
The heart of ArgΓΈNaut, containing the main `Argonaut` class that handles argument parsing, subcommands, and plugin management.

### 2. arguments.py
Defines the `Argument`, `ArgumentGroup`, and `MutuallyExclusiveGroup` classes for creating and managing CLI arguments.

### 3. decorators.py
Provides decorators for enhancing argument functionality, such as `env_var`, `dynamic_default`, and `custom_validator`.

### 4. exceptions.py
Custom exception classes for ArgΓΈNaut-specific errors.

---

## πŸ”Œ Plugin System

The plugin system in ArgΓΈNaut is implemented in `plugins.py`, allowing for easy extension of ArgΓΈNaut's functionality. Key components include:

- `Plugin`: Base class for creating plugins
- `PluginManager`: Handles loading, unloading, and executing plugins
- `PluginMetadata`: Stores metadata about plugins

### Deep Dive into the Plugin System

The plugin system is designed to be flexible and easy to use, enabling developers to extend ArgΓΈNaut's capabilities without modifying the core library. Plugins can add new commands, modify existing behavior, or integrate with external systems.

#### Key Components

1. **Plugin Base Class**: 
   - Provides a standard interface for all plugins.
   - Defines lifecycle methods like `initialize`, `execute`, and `cleanup`.

2. **PluginManager**:
   - Manages the lifecycle of plugins.
   - Responsible for loading plugins from specified directories and executing them.

3. **PluginMetadata**:
   - Stores information about each plugin, such as name, version, and author.

### Detailed Description of the Plugin Class

The `Plugin` class is an abstract base class that all plugins must inherit from. It provides a structured way to define plugins with the following key methods and properties:

- **Properties**:
  - `metadata`: Abstract property that must return a `PluginMetadata` object containing the plugin's metadata.
  - `required_dependencies`: List of dependencies that are required for the plugin to function.
  - `dependencies`: List of optional dependencies.
  - `banner`: Optional string to display when the plugin is loaded.

- **Methods**:
  - `initialize(context: PluginContext)`: Abstract method to initialize the plugin with the given context.
  - `execute(args: Dict[str, Any])`: Abstract method to execute the plugin's main functionality.
  - `cleanup()`: Method to perform any necessary cleanup when the plugin is unloaded.
  - `show_banner()`: Displays the plugin's banner if available.
  - `log(message: str, level: str = "info")`: Logs a message using the plugin's logger.
  - `register_hook(hook_name: str, callback: Callable)`: Registers a callback for a specific hook.
  - `execute_hook(hook_name: str, *args, **kwargs)`: Executes all callbacks registered to a specific hook.

### SOP for Creating Custom Plugins

To create a custom plugin, follow these steps:

1. **Create a New Plugin Directory**:
   - Inside the `plugins/` directory, create a new folder for your plugin, e.g., `MyCustomPlugin/`.

2. **Define the Plugin Class**:
   - Create a new Python file, e.g., `my_custom_plugin.py`.
   - Import the `Plugin` base class and define your plugin class.

3. **Implement Required Methods**:
   - Implement the `initialize`, `execute`, and `cleanup` methods to define your plugin's behavior.

4. **Add Metadata**:
   - Define a `PluginMetadata` object with details about your plugin.

5. **Test Your Plugin**:
   - Ensure your plugin works as expected by integrating it with an ArgΓΈNaut application.

### Practical Example: File Analyzer Plugin

Below is a simplified example of how the `file_analyzer_plugin.py` might be structured:

````python
from argonaut.plugins import Plugin, PluginMetadata

class FileAnalyzerPlugin(Plugin):
    metadata = PluginMetadata(
        name="File Analyzer",
        version="1.0",
        author="Your Name",
        description="Analyzes files and provides insights."
    )

    def initialize(self, context):
        # Initialization logic here
        self.context = context

    def execute(self, args):
        # Main logic for analyzing files
        print(f"Analyzing file: {args['file_path']}")
        # ... additional logic ...

    def cleanup(self):
        # Cleanup logic here
        pass
````

This example demonstrates a basic plugin structure. Customize the `execute` method to perform specific tasks, such as reading a file, processing data, or generating reports.

For more detailed examples and advanced usage, refer to the documentation and example scripts.

### 🧩 Example Plugin

There is one Custom Plugin already implemented: `FileAnalyzerPlugin`.
For more information about this plugin, please refer to the [README](argonaut/plugins/FileAnalyzer/README.md) in the plugin's directory.

---

## πŸ›  Utility Modules

### 1. fancy_output.py
Provides the `ColoredOutput` class for styled console output and `ProgressBar` for displaying progress.

### 2. input_sanitizer.py
Contains the `sanitize_input` function for secure input handling.

### 3. logging.py
Implements `ArgonautLogger` for customized logging functionality.

### 4. shell_completion.py
Generates shell completion scripts for Bash, Zsh, and Fish.

### 5. utils.py
Utility functions like `get_input_with_autocomplete` for enhanced user interaction.

---

## πŸš€ Usage Examples

Basic usage:

```python
from argonaut import Argonaut

parser = Argonaut(description="My CLI App")
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.")
```

For more advanced usage, including plugins and subcommands, refer to the documentation or visit [Argonaut's Documentation](https://sc4rfurry.github.io/Argonaut-Docs/).

### Examples

For more examples, please refer to the [examples](examples/) directory.

```bash
Argonaut/
β”œβ”€β”€ argonaut/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ arguments.py
β”‚   β”œβ”€β”€ core.py
β”‚   β”œβ”€β”€ decorators.py
β”‚   β”œβ”€β”€ exceptions.py
β”‚   β”œβ”€β”€ fancy_output.py
β”‚   β”œβ”€β”€ input_sanitizer.py
β”‚   β”œβ”€β”€ logging.py
β”‚   β”œβ”€β”€ plugins.py
β”‚   β”œβ”€β”€ shell_completion.py
β”‚   β”œβ”€β”€ utils.py
β”‚   └── plugins/
β”‚       └── FileAnalyzer/
β”‚           β”œβ”€β”€ (--- File Analyzer Plugin ---)
β”œβ”€β”€ Docs/
β”‚   β”œβ”€β”€ (Documentation for Argonaut and its Plugins)
β”œβ”€β”€ examples/
    └── (Examples with usage of Argonaut)
```

---

## 🀝 Contributing

Contributions to ArgΓΈNaut are welcome!

---

## πŸ“„ License

ArgΓΈNaut is released under the MIT License. See the [LICENSE](LICENSE) file for full details.

---

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/sc4rfurry/argon4ut",
    "name": "argon4ut-cli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": "sc4rfurry",
    "author_email": "akalucifr@protonmail.ch",
    "download_url": "https://files.pythonhosted.org/packages/a2/1d/e4b40e7162bceae458e990c0e86152e2ec2c5deae28b504e53a9c2752d22/argon4ut_cli-0.3.1.tar.gz",
    "platform": null,
    "description": "# Arg\u00f8Naut: Advanced Argument Parsing Library\r\n\r\n<p align=\"center\">\r\n  <img src=\"Docs/Argonaut-Logo.png\" alt=\"Arg\u00f8Naut Logo\" width=\"60%\" style=\"max-width: 500px;\">\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <a href=\"https://github.com/sc4rfurry/argonaut\"><img src=\"https://img.shields.io/github/stars/sc4rfurry/Argonaut?style=social\" alt=\"GitHub stars\"></a>\r\n  <a href=\"https://github.com/sc4rfurry/argonaut/issues\"><img src=\"https://img.shields.io/github/issues/sc4rfurry/Argonaut\" alt=\"GitHub issues\"></a>\r\n  <a href=\"https://github.com/sc4rfurry/argonaut/blob/main/LICENSE\"><img src=\"https://img.shields.io/github/license/sc4rfurry/Argonaut\" alt=\"License\"></a>\r\n</p>\r\n\r\n---\r\n\r\n## \ud83d\udcda Table of Contents\r\n\r\n1. [Introduction](#introduction)\r\n2. [Features](#-features)\r\n3. [Installation](#-installation)\r\n4. [Project Structure](#-project-structure)\r\n5. [Core Components](#-core-components)\r\n6. [Plugin System](#-plugin-system)\r\n    - [Example Plugins](#-example-plugin)\r\n7. [Utility Modules](#-utility-modules)\r\n8. [Usage Examples](#-usage-examples)\r\n    - [Examples](#examples)\r\n9. [Contributing](#-contributing)\r\n10. [License](#-license)\r\n\r\n---\r\n\r\n## \ud83d\ude80 Introduction\r\n\r\n**Arg\u00f8Naut** is a sophisticated argument parsing library for Python, designed to provide developers with a powerful, flexible, and user-friendly tool for building command-line interfaces (CLIs). It extends the capabilities of the standard `argparse` library with advanced features and a robust plugin system.\r\n\r\n---\r\n\r\n## \u2728 Features\r\n\r\n- \ud83c\udfa8 Intuitive API similar to argparse\r\n- \ud83c\udf33 Support for subcommands\r\n- \ud83d\udd27 Custom argument types and validators\r\n- \ud83c\udf3f Environment variable integration\r\n- \ud83d\udcbb Interactive mode\r\n- \ud83d\udd0c Extensible plugin system\r\n- \ud83d\udcca Progress bar and fancy output options\r\n- \ud83d\udd12 Secure input handling\r\n- \ud83d\udd00 Mutually exclusive arguments\r\n- \ud83d\udcc1 Argument groups\r\n\r\n---\r\n\r\n## \ud83d\udce6 Installation\r\n\r\nInstall Arg\u00f8Naut using pip:\r\n\r\n```bash\r\npip install argonaut\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udcc1 Project Structure\r\n\r\n```bash\r\nArgonaut/\r\n\u251c\u2500\u2500 argonaut/\r\n\u2502   \u251c\u2500\u2500 __init__.py\r\n\u2502   \u251c\u2500\u2500 arguments.py\r\n\u2502   \u251c\u2500\u2500 core.py\r\n\u2502   \u251c\u2500\u2500 decorators.py\r\n\u2502   \u251c\u2500\u2500 exceptions.py\r\n\u2502   \u251c\u2500\u2500 fancy_output.py\r\n\u2502   \u251c\u2500\u2500 input_sanitizer.py\r\n\u2502   \u251c\u2500\u2500 logging.py\r\n\u2502   \u251c\u2500\u2500 plugins.py\r\n\u2502   \u251c\u2500\u2500 shell_completion.py\r\n\u2502   \u251c\u2500\u2500 utils.py\r\n\u2502   \u2514\u2500\u2500 plugins/\r\n\u2502       \u2514\u2500\u2500 FileAnalyzer/\r\n\u2502           \u251c\u2500\u2500 __init__.py\r\n\u2502           \u251c\u2500\u2500 file_analyzer_plugin.py\r\n\u2502           \u251c\u2500\u2500 README.md\r\n\u2502           \u2514\u2500\u2500 usage.py\r\n\u251c\u2500\u2500 Docs/\r\n\u2502   \u251c\u2500\u2500 Argonaut-Logo.png\r\n\u2502   \u251c\u2500\u2500 index.html\r\n\u2502   \u251c\u2500\u2500 script.js\r\n\u2502   \u2514\u2500\u2500 style.css\r\n\u251c\u2500\u2500 examples/\r\n\u2502   \u2514\u2500\u2500 (Examples with usage of Argonaut)\r\n\u251c\u2500\u2500 LICENSE\r\n\u251c\u2500\u2500 setup.py\r\n\u251c\u2500\u2500 requirements.txt\r\n\u2514\u2500\u2500 README.md\r\n```\r\n\r\n---\r\n\r\n## \ud83e\uddf1 Core Components\r\n\r\n### 1. core.py\r\nThe heart of Arg\u00f8Naut, containing the main `Argonaut` class that handles argument parsing, subcommands, and plugin management.\r\n\r\n### 2. arguments.py\r\nDefines the `Argument`, `ArgumentGroup`, and `MutuallyExclusiveGroup` classes for creating and managing CLI arguments.\r\n\r\n### 3. decorators.py\r\nProvides decorators for enhancing argument functionality, such as `env_var`, `dynamic_default`, and `custom_validator`.\r\n\r\n### 4. exceptions.py\r\nCustom exception classes for Arg\u00f8Naut-specific errors.\r\n\r\n---\r\n\r\n## \ud83d\udd0c Plugin System\r\n\r\nThe plugin system in Arg\u00f8Naut is implemented in `plugins.py`, allowing for easy extension of Arg\u00f8Naut's functionality. Key components include:\r\n\r\n- `Plugin`: Base class for creating plugins\r\n- `PluginManager`: Handles loading, unloading, and executing plugins\r\n- `PluginMetadata`: Stores metadata about plugins\r\n\r\n### Deep Dive into the Plugin System\r\n\r\nThe plugin system is designed to be flexible and easy to use, enabling developers to extend Arg\u00f8Naut's capabilities without modifying the core library. Plugins can add new commands, modify existing behavior, or integrate with external systems.\r\n\r\n#### Key Components\r\n\r\n1. **Plugin Base Class**: \r\n   - Provides a standard interface for all plugins.\r\n   - Defines lifecycle methods like `initialize`, `execute`, and `cleanup`.\r\n\r\n2. **PluginManager**:\r\n   - Manages the lifecycle of plugins.\r\n   - Responsible for loading plugins from specified directories and executing them.\r\n\r\n3. **PluginMetadata**:\r\n   - Stores information about each plugin, such as name, version, and author.\r\n\r\n### Detailed Description of the Plugin Class\r\n\r\nThe `Plugin` class is an abstract base class that all plugins must inherit from. It provides a structured way to define plugins with the following key methods and properties:\r\n\r\n- **Properties**:\r\n  - `metadata`: Abstract property that must return a `PluginMetadata` object containing the plugin's metadata.\r\n  - `required_dependencies`: List of dependencies that are required for the plugin to function.\r\n  - `dependencies`: List of optional dependencies.\r\n  - `banner`: Optional string to display when the plugin is loaded.\r\n\r\n- **Methods**:\r\n  - `initialize(context: PluginContext)`: Abstract method to initialize the plugin with the given context.\r\n  - `execute(args: Dict[str, Any])`: Abstract method to execute the plugin's main functionality.\r\n  - `cleanup()`: Method to perform any necessary cleanup when the plugin is unloaded.\r\n  - `show_banner()`: Displays the plugin's banner if available.\r\n  - `log(message: str, level: str = \"info\")`: Logs a message using the plugin's logger.\r\n  - `register_hook(hook_name: str, callback: Callable)`: Registers a callback for a specific hook.\r\n  - `execute_hook(hook_name: str, *args, **kwargs)`: Executes all callbacks registered to a specific hook.\r\n\r\n### SOP for Creating Custom Plugins\r\n\r\nTo create a custom plugin, follow these steps:\r\n\r\n1. **Create a New Plugin Directory**:\r\n   - Inside the `plugins/` directory, create a new folder for your plugin, e.g., `MyCustomPlugin/`.\r\n\r\n2. **Define the Plugin Class**:\r\n   - Create a new Python file, e.g., `my_custom_plugin.py`.\r\n   - Import the `Plugin` base class and define your plugin class.\r\n\r\n3. **Implement Required Methods**:\r\n   - Implement the `initialize`, `execute`, and `cleanup` methods to define your plugin's behavior.\r\n\r\n4. **Add Metadata**:\r\n   - Define a `PluginMetadata` object with details about your plugin.\r\n\r\n5. **Test Your Plugin**:\r\n   - Ensure your plugin works as expected by integrating it with an Arg\u00f8Naut application.\r\n\r\n### Practical Example: File Analyzer Plugin\r\n\r\nBelow is a simplified example of how the `file_analyzer_plugin.py` might be structured:\r\n\r\n````python\r\nfrom argonaut.plugins import Plugin, PluginMetadata\r\n\r\nclass FileAnalyzerPlugin(Plugin):\r\n    metadata = PluginMetadata(\r\n        name=\"File Analyzer\",\r\n        version=\"1.0\",\r\n        author=\"Your Name\",\r\n        description=\"Analyzes files and provides insights.\"\r\n    )\r\n\r\n    def initialize(self, context):\r\n        # Initialization logic here\r\n        self.context = context\r\n\r\n    def execute(self, args):\r\n        # Main logic for analyzing files\r\n        print(f\"Analyzing file: {args['file_path']}\")\r\n        # ... additional logic ...\r\n\r\n    def cleanup(self):\r\n        # Cleanup logic here\r\n        pass\r\n````\r\n\r\nThis example demonstrates a basic plugin structure. Customize the `execute` method to perform specific tasks, such as reading a file, processing data, or generating reports.\r\n\r\nFor more detailed examples and advanced usage, refer to the documentation and example scripts.\r\n\r\n### \ud83e\udde9 Example Plugin\r\n\r\nThere is one Custom Plugin already implemented: `FileAnalyzerPlugin`.\r\nFor more information about this plugin, please refer to the [README](argonaut/plugins/FileAnalyzer/README.md) in the plugin's directory.\r\n\r\n---\r\n\r\n## \ud83d\udee0 Utility Modules\r\n\r\n### 1. fancy_output.py\r\nProvides the `ColoredOutput` class for styled console output and `ProgressBar` for displaying progress.\r\n\r\n### 2. input_sanitizer.py\r\nContains the `sanitize_input` function for secure input handling.\r\n\r\n### 3. logging.py\r\nImplements `ArgonautLogger` for customized logging functionality.\r\n\r\n### 4. shell_completion.py\r\nGenerates shell completion scripts for Bash, Zsh, and Fish.\r\n\r\n### 5. utils.py\r\nUtility functions like `get_input_with_autocomplete` for enhanced user interaction.\r\n\r\n---\r\n\r\n## \ud83d\ude80 Usage Examples\r\n\r\nBasic usage:\r\n\r\n```python\r\nfrom argonaut import Argonaut\r\n\r\nparser = Argonaut(description=\"My CLI App\")\r\nparser.add(\"--name\", help=\"Your name\")\r\nparser.add(\"--age\", type=int, help=\"Your age\")\r\nargs = parser.parse()\r\n\r\nprint(f\"Hello, {args['name']}! You are {args['age']} years old.\")\r\n```\r\n\r\nFor more advanced usage, including plugins and subcommands, refer to the documentation or visit [Argonaut's Documentation](https://sc4rfurry.github.io/Argonaut-Docs/).\r\n\r\n### Examples\r\n\r\nFor more examples, please refer to the [examples](examples/) directory.\r\n\r\n```bash\r\nArgonaut/\r\n\u251c\u2500\u2500 argonaut/\r\n\u2502   \u251c\u2500\u2500 __init__.py\r\n\u2502   \u251c\u2500\u2500 arguments.py\r\n\u2502   \u251c\u2500\u2500 core.py\r\n\u2502   \u251c\u2500\u2500 decorators.py\r\n\u2502   \u251c\u2500\u2500 exceptions.py\r\n\u2502   \u251c\u2500\u2500 fancy_output.py\r\n\u2502   \u251c\u2500\u2500 input_sanitizer.py\r\n\u2502   \u251c\u2500\u2500 logging.py\r\n\u2502   \u251c\u2500\u2500 plugins.py\r\n\u2502   \u251c\u2500\u2500 shell_completion.py\r\n\u2502   \u251c\u2500\u2500 utils.py\r\n\u2502   \u2514\u2500\u2500 plugins/\r\n\u2502       \u2514\u2500\u2500 FileAnalyzer/\r\n\u2502           \u251c\u2500\u2500 (--- File Analyzer Plugin ---)\r\n\u251c\u2500\u2500 Docs/\r\n\u2502   \u251c\u2500\u2500 (Documentation for Argonaut and its Plugins)\r\n\u251c\u2500\u2500 examples/\r\n    \u2514\u2500\u2500 (Examples with usage of Argonaut)\r\n```\r\n\r\n---\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nContributions to Arg\u00f8Naut are welcome!\r\n\r\n---\r\n\r\n## \ud83d\udcc4 License\r\n\r\nArg\u00f8Naut is released under the MIT License. See the [LICENSE](LICENSE) file for full details.\r\n\r\n---\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A custom argument parsing library for CLI applications with a focus on simplicity and ease of use. Arg\u00f8Naut is designed to make it easy to create powerful and flexible command-line interfaces.",
    "version": "0.3.1",
    "project_urls": {
        "Homepage": "https://github.com/sc4rfurry/argon4ut"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6173fa6a3b05b574e3153b25167e11216026f47057302268f4e6ba6a6592fd63",
                "md5": "74071518efca91b8f0c45fefd96eb96f",
                "sha256": "018d9d8ada5a0165ee3d9bf7e3a18c2befdb3571a9195ff39dfbf53103374c6e"
            },
            "downloads": -1,
            "filename": "argon4ut_cli-0.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "74071518efca91b8f0c45fefd96eb96f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 20303,
            "upload_time": "2024-10-11T09:55:51",
            "upload_time_iso_8601": "2024-10-11T09:55:51.142547Z",
            "url": "https://files.pythonhosted.org/packages/61/73/fa6a3b05b574e3153b25167e11216026f47057302268f4e6ba6a6592fd63/argon4ut_cli-0.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a21de4b40e7162bceae458e990c0e86152e2ec2c5deae28b504e53a9c2752d22",
                "md5": "ddfe7f349e2ba0a24657d077ba332fbd",
                "sha256": "622c8015a6b7c300436049c8b2213cc8d7e0bde5f98fd81115aa9280e24329ce"
            },
            "downloads": -1,
            "filename": "argon4ut_cli-0.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "ddfe7f349e2ba0a24657d077ba332fbd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 17467,
            "upload_time": "2024-10-11T09:55:52",
            "upload_time_iso_8601": "2024-10-11T09:55:52.956031Z",
            "url": "https://files.pythonhosted.org/packages/a2/1d/e4b40e7162bceae458e990c0e86152e2ec2c5deae28b504e53a9c2752d22/argon4ut_cli-0.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-11 09:55:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sc4rfurry",
    "github_project": "argon4ut",
    "github_not_found": true,
    "lcname": "argon4ut-cli"
}
        
Elapsed time: 0.36595s