Skip to main content

Command line argument parsing library for python

Project description

arguments
=========

Argument parsing for python developers

Usage:
------

.. code:: python
import argument
f = argument.Arguments()
#Requried arguments, first argument will be stored as "candy"
f.require("candy", help="Candy name")

#optional unnamed value
f.maybe("soda")

#optional value, set a default, can be changed by adding: --num=30, or -n=30
f.option("num",
25,
help="How many pieces?",
abbr="n"
)
#add a switch, a flag with no argument
f.switch("reverse",
help="Reverse ordering",
abbr="r"
)
f.switch("unwrap", help="unwrapcandy", abbr="u")

#Process data before saving it
f.process("candy", lambda x: x.upper())

#Parse num as integer
f.process("num", lambda x: int(x))

f.validate("num", lambda x: x > 10)

#get data
arguments, errors = f.parse()


Example:
--------

*python tests/demo.py bubblegum*

{'num': 25, 'soda': None, 'reverse': False, 'candy': 'BUBBLEGUM', 'unwrap': False}

[]

*python demo.py bubblegum cubacola*

{'num': 25, 'soda': 'cubacola', 'reverse': False, 'candy': 'BUBBLEGUM', 'unwrap': False}

[]

*python tests/demo.py bubblegum -r -n=123 --unwrap*

{'num': 123, 'soda': None, 'reverse': True, 'candy': 'BUBBLEGUM', 'unwrap': True}

[]

python tests/demo.py bubblegum --n=5

{'num': 5, 'soda': None, 'reverse': False, 'candy': 'BUBBLEGUM', 'unwrap': False}

[AssertionError('[num] Validation failed',)]

Autogenerated help:
-------------------

Usage: demo.py [OPTIONS] CANDY

Required arguments:
CANDY Candy name

Optional arguments:
SODA N/A

Options:
-n --num=25 How many pieces?

Switches:
-r --reverse Reverse ordering
-u --unwrap unwrapcandy

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

argument-0.3.0.tar.gz (4.7 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page