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
=========
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)