Appendix A. Free and Open Source Software Resources

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.

Python 2.6.5 sources
http://www.python.org

The official Python distribution website.

http://www.activestate.com

The website for ActiveState, a Windows-centric distribution of Python. Includes some tools unique to ActiveState’s distribution.

Integrated development environments
Boa Constructor

A basic IDE for Python that also includes a full-featured GUI designer.

http://boa-constructor.sourceforge.net

Eclipse

A powerful Java-based IDE that uses a plug-in (PyDev) for Python support.

http://www.eclipse.org

Idle

A multiwindow IDE supplied with the Python distribution packages from python.org.

PythonWin

A Windows-specific Python IDE supplied with the ActiveState distribution. Also available as a separate package from SourceForge. Roughly equivalent to Idle.

http://sourceforge.net/projects/pywin32/

Add-on libraries
pySerial

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).

http://pyserial.sourceforge.net

pyParallel

A parallel port interface library that supports access to a standard parallel port on both Windows and Linux platforms.

http://pyserial.sourceforge.net/pyparallel.html

pyUSB

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

PyVISA

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.

http://pyvisa.sourceforge.net

NumPy

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.

http://numpy.scipy.org

SciPy

An extensive library of tools that provides functions for mathematics, science, and engineering.

http://www.scipy.org

PyUniversalLibrary

An interface wrapper for Measurement Computing’s Universal Library driver and interface suite. Works only on Windows systems.

https://code.astraw.com/projects/PyUniversalLibrary/

GUI libraries and development tools
Boa Constructor (wxPython)

A wxPython GUI designer that also includes an editor and a debugger.

http://boa-constructor.sourceforge.net

PAGE (Tkinter)

A drag-and-drop GUI builder written in tcl/Tk that generates a Python module using the TkInter library.

http://page.sourceforge.net

PythonCard (wxPython)

A template-based GUI designer for wxPython.

http://pythoncard.sourceforge.net

pmw (Tkinter)

The Python megawidgets add-on for TkInter. Contains additional widgets and functionality not found in the base distribution of TkInter.

http://pmw.sourceforge.net

SpecTcl (Tkinter)

Another TkInter GUI window design tool. Originally developed by Sun Microsystems, it is open source with a Sun license.

http://spectcl.sourceforge.net

wxGlade (wxPython)

A wxPython GUI designer modeled on the Glade designer tool.

http://wxglade.sourceforge.net

wxPython

The wxPython library package for Python, which is itself a wrapper for the wxWidgets library. wxWidgets is not required to use wxPython.

http://wxpython.org

Plotting tools
gnuplot

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.

http://gnuplot.sourceforge.net

gnuplot.py

An interface layer and command translation helper for using gnuplot with Python.

http://gnuplot-py.sourceforge.net

System tools and utilities
ansicon

A replacement for the Windows ANSI.dll driver that supports newer 32- and 64-bit versions of Windows.

http://adoxa.110mb.com/ansicon/index.html

com0com

A kernel-mode driver for creating pairs of null-modem-connected virtual serial ports under Windows.

http://com0com.sourceforge.net

Cygwin and Xcygwin

Provides an emulation of a Linux environment under Windows. The Xcygwin package includes an X server and various X applications (Xterm, Xclock, Xfig, etc.).

http://www.cygwin.com

Tera Term

An old but still very useful terminal emulator with a well-done scripting language.

http://hp.vector.co.jp/authors/VA002416/teraterm.html

tty0tty

This is the Linux equivalent to com0com that allows two tty devices to cross-connect in null-modem fashion.

http://tty0tty.sourceforge.net

Image data tools and libraries
ImageJ

A flexible and highly configurable image viewer and image processing tool from the National Institutes of Health.

http://rsbweb.nih.gov/ij/

Netpbm

The Netpbm library of image conversion and processing tools.

http://netpbm.sourceforge.net/doc/pgm.html

Data acquisition device driver packages for Linux
Comedi

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.

http://www.comedi.org

Measurement Computing Linux 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.

ftp://lx10.tx.ncsu.edu/pub/Linux/drivers/

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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.146.255.249