Command line argument parsing library for python
Project description
Argument parsing for python developers
Usage:
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}
Autogenerated help:
print(f) ``` 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
File details
Details for the file argument-1.4.0.tar.gz
.
File metadata
- Download URL: argument-1.4.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84c6a3bc874043d99620f371d2ba8b1ff31364df36781238dd321fe30c0b5b18 |
|
MD5 | 883288db6562df8ef7daf5483b8602a8 |
|
BLAKE2b-256 | 6db8a8e92345fa2a9e98460909defe876899807a8854575c99c5d0595d967a74 |