Skip to main content

A lightweight argument manager for Python CLI tools

Project description

ArgMan

A lightweight, zero-dependency argument parser for Python CLI tools — simple, testable, and intuitive.

ArgMan example code

Features

  • Short (-v) and long (--verbose) flags
  • Type-safe parsing: int, float, str, bool, list
  • Default values and boolean toggles
  • Repeated arguments with arg_list
  • Automatic --no-flag for booleans
  • Positional arguments
  • --arg=value and -- terminator support
  • Clean help and error messages
  • Config file support (JSON) via load_config()
  • Export parsed args via dump_args()
  • Choices validation(choices=[...])
  • Custom validation(validator=...)

Documentation

Usage examples and API reference: docs/


Installation

You can install ArgMan directly from PyPi:

pip install argman

Running Tests

python -m unittest discover tests

Roadmap

v0.1 — Core Functionality

  • Complete

v0.2 — Extended Features

  • arg_list, --no-flag, --arg=value, -- support
  • Custom error messages
  • config files(load_config, dump_args)
  • subcommands(one level, must be first argument)
  • custom argv support(e.g., ArgMan(argv=['prog', '--num', '5']))

v0.3 — Docs & Publish

  • Docs ready
  • Publish to PyPI

v0.4 — Validation & Customization

  • Choices: Limit argument values to a predefined set of allowed options.
  • Validators: Define custom checks for argument values (e.g., range, format).
  • Formatters: Apply custom transformations to parsed argument values (e.g., str.lower).
  • Dependencies: Specify relationships between arguments (e.g., required, exclusive).

License

LGPL-3.0 © 2025

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

argman-0.3.3.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

argman-0.3.3-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file argman-0.3.3.tar.gz.

File metadata

  • Download URL: argman-0.3.3.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for argman-0.3.3.tar.gz
Algorithm Hash digest
SHA256 2b2283a16d9f36ff88b2955bd500e7fb2767ff560f76f438796370b284361e8d
MD5 3467f9dc30e02122de1badc8511d09ef
BLAKE2b-256 3c36346f2da6919b33d84ea41fab2a624c11f2517ad338ee250c1e61a0ba8667

See more details on using hashes here.

File details

Details for the file argman-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: argman-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for argman-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ca2892c136c8dd61e69a42d8ea5983523af8bd06a5942ff34930c63dbf3e4d75
MD5 21f59df21792215388a4a3c8d2c4bd30
BLAKE2b-256 7fb62b3266fda278ab926b5f4e4643e79ef8c8677e88cbfadfd486645448b625

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page