This appendix is a listing of the various tools and library add-on modules mentioned in this book, but it is by no means an exhaustive listing. There are many excellent open source software packages available for working with Python on both Linux and Windows systems, and I would encourage you to explore websites like SourceForge and Berlios for other alternatives. The main site for Python, python.org, also has links to other Python-specific packages that may be of interest to you.
The official Python distribution website.
The website for ActiveState, a Windows-centric distribution of Python. Includes some tools unique to ActiveState’s distribution.
A basic IDE for Python that also includes a full-featured GUI designer.
A powerful Java-based IDE that uses a plug-in (PyDev) for Python support.
A multiwindow IDE supplied with the Python distribution packages from python.org.
A Windows-specific Python IDE supplied with the ActiveState distribution. Also available as a separate package from SourceForge. Roughly equivalent to Idle.
A cross-platform interface library with support for RS-232
standard serial interfaces. pySerial
provides a file-like API with methods such as read()
and write()
, and provides binary data
transmission (no EOL translation or byte stripping).
A parallel port interface library that supports access to a standard parallel port on both Windows and Linux platforms.
A Python library for accessing USB devices on either Linux
or Windows via low-level drivers and Python’s ctypes
library.
http://sourceforge.net/apps/mediawiki/pyusb/index.php?title=Main_Page
A cross-platform Python API for the commercial
visa32.dll and similar DLL modules from
various instrument vendors. VISA support for Linux is provided
by the libvisa.so.7
library
object, available from National Instruments.
The Numeric Python package, with support for n-dimensional array objects and array masking, and functions for linear algebra, Fourier transforms, and random number generation.
An extensive library of tools that provides functions for mathematics, science, and engineering.
An interface wrapper for Measurement Computing’s Universal Library driver and interface suite. Works only on Windows systems.
A wxPython GUI designer that also includes an editor and a debugger.
A drag-and-drop GUI builder written in tcl/Tk that generates a Python module using the TkInter library.
A template-based GUI designer for wxPython.
The Python megawidgets add-on for TkInter. Contains additional widgets and functionality not found in the base distribution of TkInter.
Another TkInter GUI window design tool. Originally developed by Sun Microsystems, it is open source with a Sun license.
A wxPython GUI designer modeled on the Glade designer tool.
The wxPython library package for Python, which is itself a wrapper for the wxWidgets library. wxWidgets is not required to use wxPython.
A powerful plotting package for both Linux and Windows. Supports both 2D and 3D plots and has an extensive collection of built-in math functions.
An interface layer and command translation helper for using gnuplot with Python.
A replacement for the Windows ANSI.dll driver that supports newer 32- and 64-bit versions of Windows.
A kernel-mode driver for creating pairs of null-modem-connected virtual serial ports under Windows.
Provides an emulation of a Linux environment under Windows. The Xcygwin package includes an X server and various X applications (Xterm, Xclock, Xfig, etc.).
An old but still very useful terminal emulator with a well-done scripting language.
This is the Linux equivalent to com0com that allows two tty devices to cross-connect in null-modem fashion.
A flexible and highly configurable image viewer and image processing tool from the National Institutes of Health.
The Netpbm library of image conversion and processing tools.
A collection of low-level drivers to allow a Linux system to communicate with various types of data acquisition and digital interface cards. Includes SWIG scripts to create Python wrappers for the drivers.
Warren Jasper from NCSU has written a suite of Linux drivers for many of Measurement Computing’s products. Note that these are just the Linux drivers; no Python API is provided. You need to be prepared to create your own Python wrappers.
There can be no doubt that I have missed a package or two (or more) that might be relevant to this book, but the oversight is not intentional. Some searching on Google or SourceForge with phrases like “Python control systems” or “Python data acquisition” will most likely turn up some more interesting packages.
A list of Python packages is also available at http://pypi.python.org/pypi/. I can’t attest to how current it is, but it is rather long. Also, if you’re using Linux, be sure to check your package manager to see what might be available for Python; it’s a lot easier than doing the installation manually (which includes resolving any package dependencies).
Lastly, I’d like to point out that you should be aware that if you’re using an open source package it might not be as polished as a commercial product, and it may have some bugs or be incomplete. But also bear in mind that it has cost you nothing, and that the people who wrote it are working on their own time, mainly just for the love of software development and a desire to share their work with others.
3.146.255.249