Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Simpler command line argument parsing

Project description

Simpler command line argument parsing

In the spirit of `optimist <https://github.com/substack/node-optimist>`__: less magic, more flexibility.

pi install argv

Quickstart

Manual specification of arguments, no configuration:

import argv
argv.parse(['-i', 'input.txt', '-z', '--verbose'])
>>> {'i': 'input.txt', 'verbose': True, 'z': True}

Uses sys.argv (without the executable name) if no argument list is given:

import sys
sys.argv
>>> ['/usr/local/bin/bottler', 'exec', 'prog.py', '--debug']
argv.parse()
>>> {'_': ['exec', 'prog.py'], 'debug': True}

Configuration:

parser = argv.Parser()
parser.add('action')
parser.add('target')
parser.add('-d', '--debug')
parser.parse(['exec', 'prog.py', '--debug'])
>>> {'action': 'exec', 'd': True, 'debug': True, 'target': 'prog.py'}

Testing

Continuous integration:

Travis CI Build Status

Or run tests locally:

python setup.py test

Development

Terminology:

  • flag: a command line argument marked with a double dash or each component of a group denoted by a single dash. E.g.,
    • --verbose --logfile logs/app.txt has two flags: verbose and logfile.
    • -czf archive.tgz app/ has three flags: c, z, and f.
  • token: a white-space separated command line item. E.g.,
    • `–input= –logfile logs/app.txt

License

Copyright (c) 2013 Christopher Brown. MIT Licensed.

Project details


Release history Release notifications

Download files

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

Files for argv, version 0.0.3
Filename, size File type Python version Upload date Hashes
Filename, size argv-0.0.3.tar.gz (6.8 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