Skip to main content

Truly pythonic argument parser.

Project description

No Argparse Any More.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for naam, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size naam-0.1.1-py3-none-any.whl (4.6 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size naam-0.1.1.tar.gz (3.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page