Rocket-args

logo Make your arg parsing even more declarative!

badge badge badge


Source code: https://github.com/Xaaq/Rocket-args

Documentation: https://xaaq.github.io/Rocket-args


Overview

So you wanted a tool that handles parsing arguments? You've come to right place!

Key features:

  • fully declarative,
  • less boilerplate code required,
  • type hints,
  • IDE auto-completion - no more strange Namespace objects.

Installation

You will need Python 3.6+

In order to install it:

pip install rocket-args

Examples

Simple CLI args

Create main.py with following content:

from rocket_args import RocketBase

class MyArgs(RocketBase):
    my_int: int
    my_float: float
    my_str: str

args = MyArgs.parse_args()
print(args)

Call it with arguments:

$ python main.py --my-int 1234 --my-float 12.34 --my-string abcd
MyArgs(my_int=1234, my_float=12.34, my_str=abcd)

Auto-generated help

$ python main.py --help
usage: main.py [-h] [--my-int MY_INT] [--my-float MY_FLOAT] [--my-str MY_STR]

optional arguments:
  -h, --help           show this help message and exit
  --my-int MY_INT
  --my-float MY_FLOAT
  --my-str MY_STR