Contributed Python Software
Last modified: Thu Apr 30 18:23:23 EDT 1998
Here's a collection of pointers to useful Python software out on the web. If you would like to see your software listed here, or if you find a stale link or some other surprise, please drop us a line at email@example.com.
Since some things fit more than one category, we've aimed to place their entries in the most significant one, and followed them by a sentence that mentions alternate categories between a pair of '*' asterisks. Thus, search for, eg, "*Math*" to find the stray items that also belong in the Math section...
The entries here generally do not cover items already contained in the:
Look!! AVL, calldll, npstruct, async, Medusa, and Much Much More!"
"Unfortunately, when I started learning Python, I found that there were very few good sample scripts for beginners, especially for non-Unix platforms. Here are some scripts which are small, simple, easy to understand, and which do something at least mildly interesting..."
Like ILU from Xerox PARC, Fnorb gives the Python programmer access to the wonderful world of CORBA. It supports all CORBA 2.0 datatypes (including Any's) and provides a full implementation of IIOP. Unlike ILU, Fnorb is Python and CORBA/IDL specific and hopefully this will make it simple, light-weight, and easy to install and use (eventually ;^)."
allows objects to be published without any Common Gateway Interface (CGI) or Hypertext Transfer Protocol (HTTP) specific code. Complex object hierarchies can be published with Uniform Resource Locators (URLs) that mimic the object hierachies. Form data, including file upload data, are marshalled into method parameters.
See also Digital Creations free releases document, for a roster containing bobo and related technology.
"PyLR is a package of tools for creating efficient parsers in python, commonly known as a compiler compiler. PyLR is currently under development. Many of the tools programmers will need are already there. However, there is a lot more that can be added."
You will find the latest version of the module in the <ftp://www.bel-epa.com/pub/misc/> directory, where you will find a gzipped tar file named something like PyApache-x.yy.tar.gz.
This version runs on Microsoft Windows and Unix/X using Tk 4.0. Programs written using this "wpy" GUI library will run under NT, Win32s and under Unix/X without changes and with native look and feel."
Each Pmw megawidget seamlessly blends with the standard Tk widgets, having a similar widget interface. In addition, all Pmw megawidgets may themselves be extended, using either inheritance or composition.
Here is a mirror.
(Since the author, Brian Warkentine, has moved on to other projects, trinket is no longer being supported. A few people have expressed interest in finding ongoing support, and the author is entirely willing to relinquish those privileges, so there may be support in the future.)
"I incorporated BLT 1.9 with Tkinter. BLT has support for 2d scatter plots, line graphs, and bar charts. What it does, it does well. I've been using this interface to BLT, but it's not totally debugged yet. I won't be able to support it much until school is out."
"Svgamodule provides Python extensions that allow it to work with SVGAlib /vgagl graphics. I wrote it so that i could easily test different graphical algorithms and make neat snazzy screen savers in Python."
In a former life, Per Spilling wrote vpApp, a GUI application framework using Motif. Since then I changed the underlying X extension, and vpApp stopped working. I have now ported it to the new X extension.
"... make graphics programming simple, and it works as both a C library and a Python add-on module. So far the Python binding works only with X-Windows, but I am working to link it with a Windows port of Python.
From what I have seen of other graphics toolkits, GraphApp is simpler and more straightforward than wxWindows or Tk. For beginner to intermediate graphics programmers, or those interested in rapid prototyping of a user interface, GraphApp is an ideal tool."
"Terry (named after Terry Gilliam, who did the animations in Monty Python's Flying Circus) is a Python module that serves as an additional interface layer between a Python program and the RenderMan C API, making it possible to write Python programs to drive a RenderMan renderer."
In addition to the NumPy distribution, itself, here are some more useful items:
"The Molecular Modelling Toolkit (MMTK) is a program library for molecular modelling applications. Its aim is to provide researchers, especially those working on the development of new modelling methods, with a code basis that can be easily extended and modified to deal with standard and non-standard problems in molecular modelling."
The library provides an object-oriented framework for defining and handling mathematical types, and implements the most common data types of computer algebra: integers, reals, fractions, complex numbers, polynomials, tensors, matrices, etc. The application programs consist of an interactive symbolic calculator (samuel), a programming language (induce) and a program to factorize integers (factorint).
Here is an alternative links to the toolkit.
I've been using it for stuff like image/audio files and network protocols like talk/ntalk/ytalk."
The netCDF datafile format stores large, uniform, data arrays efficiently and avoids byte-order problems when moving binary data between different machines. It is well-documented and looks like a good compromise between simplicity and generality.
The module, at v 0.6, was in development when this entry was added (01/27/1998). Version 1.0 is expected to be the "final" release.
"PyGreSQL is a python module that interfaces to a PostgreSQL database. It embeds the PostgreSQL query library to allow easy use of the powerful PostgreSQL features from a Python script."(To use postgres with Python 1.4, see the PyGres95 items in the database section of the python.org contributed-ftp repository.)
This refinement of mitch chapman's version uses a python-based eventloop, instead of relying on an event loop from an extension, like tkinter.
Extension classes provide support for extended method binding protocols to support additional method types and additional method call sematics.
This is a work-in-progress, with much of the coding effort done, but much documentation to be done...
In addition to being written in Python, it has some nice features which are lacking in hypermail, like incremental indexing...
"Mailman is a program that automates email based mailing lists. It is most strikingly different from other mailing list managers in that it has a well developed web interface for list users and list administrators alike. Users can change their options, subscribe and unsubscribe over the web. List admins can configure the list, moderate the list, and maintain the lists web page, all via the web."
"Python/Tkinter User Interface is my attempt to create an environment where you can run code from within the tk mainloop like the wish interpreter. PTUI uses a small framework of classes that can be imbedded into a larger application to facilitate rapid developement and testing."(This item also belongs in the *Graphics* and *System* sections.)
(Douglas has thus far only built for Solaris, but is working on a Windows port, and will also be making a source code release. Since he works at Carnegie Mellon University, the software is copyrighted by them.)
I'm looking for ideas on how to do callbacks... Any ideas?"
"Python has many of the features of LISP, a language very popular among artificial intelligence (AI) researchers. It is well suited to the sort of symbolic processing used in AI.
I'm no expert in AI, but I've tinkered a bit. As I develop more AI programs in Python, I'll post them here. If you have something or know of something along these lines, please let me know and I'll include it here as well."