/argparse_action

argparse extension to build cli arguments from the function signature

Primary LanguagePythonApache License 2.0Apache-2.0

Makefile CI

argparse_action

argparse_action aims to be a minimalistic extension of argparse and creates cli options from the function signature given by inspect.signature.

import argparse
import argparse_action

parser = argparse.ArgumentParser()
action = argparse_action.Action(parser)

@action.add("e")
def echo(word, upper=False):
    print(word.upper() if upper else word)

namespace = parser.parse_args()
namespace.action(namespace)

Asumes that the code above is saved as my_script.py:

$ python3 my_script.py echo hello
hello

$ python3 my_script.py e hello
hello

$ python3 my_script.py echo --upper hello
HELLO

Installation

pip install argparse_action

Configuration

make dev

CI check

The check make target collects the targets which are run by the CI server.

make check

Testing

The test target requires a virtulenv where argparse_action is installed. The dev target creates that virtualenv under .venv directory.

make test

Formatting

The argparse_action project is formatted with black. The CI check invokes the check-format target to ensure that the python files are formatted with black.

make check-format

black can be run with the format make target.

make format

Linter

The lint target runs pylint over the argparse_action project.

make lint

Documentation

Documentation can be build with the doc make target. To ensure the documentation build tools the make dev has to be executed once before make doc.

make doc

Online version can be read at readthedocs.org.