Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

docpie

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

docpie

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

  • 0.4.4
  • PyPI
  • Socket score

Maintainers
1

.. docpie .. README.rst

docpie

An easy and Pythonic way to create your POSIX command line

View on: GitHub <https://github.com/TylerTemp/docpie/>__ / PyPi <https://pypi.org/project/docpie/>__

.. image:: https://travis-ci.org/TylerTemp/docpie.svg?branch=master :target: https://travis-ci.org/TylerTemp/docpie

.. contents::

ChangeLog

version 0.4.4:

change auto balance function, fix the issue that won't work for this case

.. code-block:: python

"""
Usage:
    cp [options] <source>... <target>

Options:
    -R
"""

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:

.. code:: python

""" My copy script

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

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

.. code:: bash

$ python cp.py a.txt b.txt c.txt /tmp {'--': False, '--help': False, '--verbose': False, '--version': False, '-?': False, '-h': False, '-v': False, '<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 \>\> <http://docpie.comes.today/try?argvnofilestr=a.txt%20b.txt%20c.txt%20%2Ftmp&attachopt=on&attachvalue=on&auto2dashes=on&doc=My%20copy%20script%5Cn%5CnUsage%3A%5Cn%20%20cp.py%20%5Boptions%5D%20%3Csource_file%3E%20%3Ctarget_file%3E%5Cn%20%20cp.py%20%5Boptions%5D%20%3Csource_file%3E...%20%3Ctarget_directory%3E%5Cn%5CnOptions%3A%5Cn%20%20-h%20-%3F%20--help%20%20%20%20print%20this%20screen%5Cn%20%20--version%20%20%20%20%20%20%20print%20the%20version%20of%20this%20script%5Cn%20%20-v%20--verbose%20%20%20%20print%20more%20information%20while%20%20running&help=on&replace=on&stdopt=on>__

Installation

Install release version:

.. code:: python

pip install docpie

Install nightly/dev version:

.. code:: bash

pip install git+https://github.com/TylerTemp/docpie.git@dev

docpie has been tested with Python:

  • 2.6, 2.7, pypy-2.0, pypy-2.6
  • 3.2, 3.3, 3.4, 3.5, pypy3-2.4

You can run test suit by python setup.py test

Get Start!

Interested? Visit Wiki <https://github.com/TylerTemp/docpie/wiki>__ and get start!

Or you can try it in your browser <http://docpie.comes.today/try/>__

Why docpie?

docpie can greatly reduce the work you need to be done for command-line interface. What you see is what you get. Every time you only need to update your document, and keep the code unchanged.

See here <https://github.com/TylerTemp/docpie/wiki/Why-docpie>__ for more reasons.

Reference

the code in bashlog.py is taken from tornado <https://github.com/tornadoweb/tornado>, and tracemore.py is from python Cookbook <http://www.amazon.com/Python-Cookbook-Third-David-Beazley/dp/1449340377/ref=sr_1_1?ie=UTF8&qid=1440593849&sr=8-1&keywords=python+cookbook>

Many examples & tests are from docopt.

License

docpie is released under MIT-License <https://github.com/TylerTemp/docpie/blob/master/LICENSE>__

Donate

If you like this project, you can buy me a beer so I can make it better!

.. image:: https://dn-tyler.qbox.me/alipay.ico :target: https://dn-tyler.qbox.me/myalipay.png

.. image:: https://button.flattr.com/flattr-badge-large.png :target: https://flattr.com/submit/auto?user_id=TylerTemp&url=http%3A%2F%2Fdocpie.comes.today

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc