Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
lastopt-0.0.2.tar.gz (4.6 kB) Copy SHA256 hash SHA256 Source None May 21, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page