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

pyopt

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pyopt

Exposing python functions to the command line

  • 0.84
  • PyPI
  • Socket score

Maintainers
1

pyopt version 0.84

A module for command-line options with a pythonic, decorator-centric syntax.

The following example auto-generates help with docstrings, type casting for arguments and enforcing argument count:

import pyopt

expose = pyopt.Exposer()

@expose.args
def regular_function(arg1:str, arg2:int):
    '''Your help - the docstring'''
    # bla, etc, foobar spam...
    print(repr(arg1), repr(arg2))

if __name__ == "__main__":
    expose.run()

There are 3 modes of operation: 1. expose.args - A decorator for positional arguments. 2. expose.kwargs - A decorator for keyword arguments. 3. expose.mixed - A decorator for keyword and positional arguments.

Currently known compromises that are open to discussion, e-mail me: 1. This module was specifically designed with python 3 in mind, certain features can be converted to python 2.x, but the awesome ones can't. 2. Keyword command-line functions require every argument to start with a different letter to avoid collisions. 3. Annotations aren't mandatory, I don't know if this is the right way to go, it's an explicity vs convenience issue. 4. Booleans can't default to True. I couldn't think of a use case for this so tell me if you did.

License: whatever, I don't mind. Google Code made me choose so I went with the "New BSD". If somebody has a better idea, e-mail, comment or whatnot. Hearing from whoever uses this code would be nice, but you really shouldn't feel obliged.

Contact me at: ubershmekel at gmail

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