naam

Truly pythonic argument parser.


License
MIT
Install
pip install naam==0.1.1

Documentation

NAAM

No Argparse Any More.

Pretty amazing...

Don't google argparse just take some NAAM

  • I forget how to use argparse every time I make utilities
  • 10+ lines for just parsing arguments? No way!
  • There should be a super pythonic way to parse arguments!!!!
  • I love Kizuna Ai.

Install

pip install naam

How to use it

Just decorate your main function like @naam.bind_args and execute it!

Example

Here's a code (placed in examples/optional.py):

from naam import bind_args


@bind_args
def hello(first_name, last_name=None):
    msg = 'Hello world! My name is %s.'
    if last_name is None:
        print(msg % first_name)
    else:
        print(msg % '{} {}'.format(first_name, last_name))


hello()

With empty arguments, this outputs:

Usage: optional.py [-l LAST_NAME | --last_name LAST_NAME] FIRST_NAME

With arguments, this outputs like:

$ python optional.py Miku
Hello world! My name is Miku.

$ python optional.py Miku --last_name Hatsune
Hello world! My name is Miku Hatsune.

$ python optional.py Miku -l Hatsune
Hello world! My name is Miku Hatsune.

Prerequisites

No dependencies. Works on Python 3.x (Built on Python 3.6.2).

Features I crave

  • Type casting for type-annotated args