Additional Python argparse types and actions.
Project homepage: https://github.com/eerimoq/argparse_addons
$ pip install argparse_addons
The script. See examples/integer.py for the complete script.
parser.add_argument('--min-max',
type=argparse_addons.Integer(0, 255))
parser.add_argument('--min',
type=argparse_addons.Integer(0, None))
parser.add_argument('--max',
type=argparse_addons.Integer(None, 255))
parser.add_argument('--any',
type=argparse_addons.Integer())
Error message for the --min-max
argument.
$ python3 examples/integer.py --min-max -1
usage: integer.py [-h] [--min-max MIN_MAX] [--min MIN] [--max MAX] [--any ANY]
integer.py: error: argument --min-max: -1 is not in the range 0..255
Error message for the --min
argument.
$ python3 examples/integer.py --min -1
usage: integer.py [-h] [--min-max MIN_MAX] [--min MIN] [--max MAX] [--any ANY]
integer.py: error: argument --min: -1 is not in the range 0..inf
Error message for the --max
argument.
$ python3 examples/integer.py --max 1000
usage: integer.py [-h] [--min-max MIN_MAX] [--min MIN] [--max MAX] [--any ANY]
integer.py: error: argument --max: 1000 is not in the range -inf..255
Error message for the --any
argument.
$ python3 examples/integer.py --any a
usage: integer.py [-h] [--min-max MIN_MAX] [--min MIN] [--max MAX] [--any ANY]
integer.py: error: argument --any: invalid integer value: 'a'
All values within allowed ranges.
$ python3 examples/integer.py --min-max 47 --min 1000 --max -5 --any 1
--min-max: 47
--min: 1000
--max: -5
--any: 1
Fork the repository.
Install prerequisites.
pip install -r requirements.txt
Implement the new feature or bug fix.
Implement test case(s) to ensure that future changes do not break legacy.
Run the tests.
make test
Create a pull request.