Skip to main content

An easy and Pythonic way to create your POSIX command line interface

Project description

An easy and Pythonic way to create your POSIX command line

View on: HomePage / GitHub / PyPi

ChangeLog

version 0.2.4:

  • [fix] Support windows style line separator /r/n

version 0.2.5:

  • [fix] When “Usage” section contains “Options:” (e.g. “prog <options:>”), it won’t be parsed as “Option” section

full changelog

Summary

How do you define your command line interface? Write a parse by yourself or spend hours learning optparse / argparse , and modify both code side and document every time you update the interface?

Life is short, man! You can simply do it this way:

"""
My copy script

Usage:
  cp.py [options] <source_file> <target_file>
  cp.py [options] <source_file>... <target_directory> <log_file>

Options:
  -h -? --help    print this screen
  --version       print the version of this script
  -v --verbose    print more information while  running
"""

from docpie import docpie
args = docpie(__doc__)
print(args)

Now run it

$ python cp.py a.txt b.txt c.txt /tmp cp.log
{'--': False,
 '--help': False,
 '--verbose': False,
 '--version': False,
 '-?': False,
 '-h': False,
 '-v': False,
 '<log_file>': 'cp.log',
 '<source_file>': ['a.txt', 'b.txt', 'c.txt'],
 '<target_directory>': '/tmp',
 '<target_file>': None}

Write a __doc__, pass it to a function, DONE! Isn’t it simple?

try it >>

Installation

Install release version:

pip install docpie

Install nightly/dev version:

pip install git+git://github.com/TylerTemp/docpie.git

docpie has been tested with Python:

2.6, 2.7

3.2, 3.3, 3.4, 3.5

pypy-2.0, pypy-2.6, pypy3-2.4

Get Start!

Interested? Visit Document and get start!

Or you can try it in your browser

Why docpie?

See here for more reasons.

Reference

the code in bashlog.py is taken from tornado, and tracemore.py is from python Cookbook

License

docpie is released under MIT-License

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

docpie-0.2.5.tar.gz (50.4 kB view hashes)

Uploaded Source

Built Distributions

docpie-0.2.5.macosx-10.10-x86_64.tar.gz (106.9 kB view hashes)

Uploaded Source

docpie-0.2.5-py2.py3-none-any.whl (59.0 kB view hashes)

Uploaded Python 2 Python 3

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