Skip to main content

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


Download files

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

Source Distribution

argv-0.0.3.tar.gz (6.8 kB view details)

Uploaded Source

File details

Details for the file argv-0.0.3.tar.gz.

File metadata

  • Download URL: argv-0.0.3.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for argv-0.0.3.tar.gz
Algorithm Hash digest
SHA256 ce8e08d227758f38704954269d37b0002d45c0e9f2394048f66c76cc4cae498a
MD5 ab9029a0e9675407ab17c258945f3279
BLAKE2b-256 eade35b617e02843d7b5d7fe462a9c7823c8d55dab72f91526e5d25da49fac9e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page