Skip to main content

lastopt is a Python utility for quickly creating command line utilities using

Project description


lastopt is a Python utility for quickly creating command line utilities using
function and class introspection.


#!/usr/bin/env python

import lastopt

def install(package, dependencies=False):
print "install %s, with dependencies: %s" % (
package, dependencies and 'yes' or 'no')

class Env(object):
def __init__(self, name): = name

def start(self, package):
print "starting %s.%s" % (, package)

lastopt.main([install, Env])

$ ./command

Usage: ./command COMMAND [ARGS]

The available commands are:

$ ./command install --help

Usage: ./command install <package> [options]

-h, --help show this help message and exit
--nodependencies unset --dependencies
-d, --dependencies (default: False)

$ ./command install redis -d

install redis, with dependencies: yes

$ ./command env production

Usage: ./command env production COMMAND [ARGS]

The available commands are:

$ ./command env production start frontend

starting production.frontend


lastopt is directly inspired by Simon Willison's clever introspection hack from
a few years back:

Project details

Download files

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

Files for lastopt, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size lastopt-0.0.2.tar.gz (4.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page