Skip to main content

Vulcano

Project description

Vulcano Code style: black Build Status codecov readthedocs py27build py34build py35build py36build py37build Downloads

What is Vulcano?

Vulcano is a framework for creating command line utils.

Here's a simple example:

from __future__ import print_function
from vulcano.app.classes import VulcanoApp


app = VulcanoApp()

@app.command("hi", "Salute people given form parameter")
def salute_method_here(name, title="Mr."):
    print("Hi! {} {} :) Glad to see you.".format(title, name))

@app.command
def i_am(name):
    app.context['name'] = name

@app.command
def whoami():
    print(app.context['name'])

@app.command
def bye(name="User"):
    """ Say goodbye to someone """
    print("Bye {}!".format(name))


if __name__ == '__main__':
    app.run()

This will create two commands:

  • hi: Registered by wrapping the salute_method_here
  • bye: Just registered directly with the bye function

And this will generate something like this:

Demo gif video

Nice, right?

Key features

  • Autocomplete: Vulcano will inspect all the functions you register, and will create a list of autocomplete with your command name and it's arguments.
  • Help: It will create help based on your functions docstrings or the help provided during the registration process.
  • History: Use up & down arrows to select a command from your history.
  • Register modules: It can register all the functions inside a module just by calling the register module function. It will help you to prevent modifying the source module.
  • Lexer: Of course, we use lexer with pygments to colorize your command line ;)
  • Nested commands: You want to execute more than one command at once from the command line arguments? Just use the "and". python your_script.py my_func arg=\"something\˝ and my_func_2 arg=\"another thing here\" , such hacker!
  • Context: If you want to communicate different functions between them, you can use the VulcanoApp.context (it's just a dictionary where you store and read data).

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

vulcano-0.1.3.tar.gz (11.0 kB view hashes)

Uploaded Source

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