This directory contains a number of Python programs that are useful
while building or extending Python.

bgen		Generate complete extension modules from a
		description.  Still under development!

freeze		Create a stand-alone executable from a Python program.

modulator	Interactively generate boiler plate for an extension
		module.  Requires Tk.

scripts		A number of useful single-file programs, e.g. for
		converting old Python sources to the current language
		definition.
