Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

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:

Release History

This version
History Node


History Node


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
(4.6 kB) Copy SHA256 Hash SHA256
Source None May 21, 2014

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Kabu Creative Kabu Creative UX & Design Google Google Cloud Servers Fastly Fastly CDN StatusPage StatusPage Statuspage DigiCert DigiCert EV Certificate