Google is a useful Internet search engine for programmers.
Python | Basic Python source |
ActivePython | ActiveState's Python distribution (for Linux and Windows) |
Enthought Python | Recommended Python for Windows |
PythonWin (pywin32) | Extensions for Python on Windows |
Pmw | Python megawidgets |
Tcl/Tk | Various Tcl/Tk versions |
BLT (ActiveState) (SourceForge) | The BLT extension to Tk |
Tix | Tix megawidgets |
NumPy home page | Numerical Python |
ScientificPython package | More numerical extensions to Python |
Gnuplot interface | Direct visualization of Python data with Gnuplot |
Chaco | Sophisticated curve plotting integrated with Python |
Vtk | Visualization package w/Python interface |
MayaVi | High-level GUI and scripting interface to Vtk |
ChomboVis | High-level GUI interface to Vtk |
PyOpenGL | Advanced (low level) graphics |
PIL: Python Imaging Library | Image processing tools |
SciPy | Comprehensive scientific computing support |
LAPACK | Needed for SciPy |
ATLAS | Needed for SciPy |
PmwContribD | Additional Pmw widgets |
PyMat | Python interface to Matlab |
Epydoc | Tool for documenting Python source code |
HappyDoc | Tool for documenting Python source code |
Unum | Unit conversion |
F2PY | Python-Fortran interface |
Boost.Python | Tool for writing extensions modules in C++ |
SIP | Tool for writing extensions modules in C++ |
SCXX | Tool for writing extensions modules in C++ |
CXX | Tool for writing extensions modules in C++ |
Docutils | Utilities for writing documents, manuals, etc. |
PyPar | Parallel Python programming |
pyperl | Call Perl from Python |
disipyl | Python interface to the DISLIN curve/surface plotting package |
TableIO module | C code for reading tables in files |
Cheve GUI | Configurable look and feel for Python/Tkinter GUI applications |
Python home page |
PyPI: Python package index (3rd party modules) |
Vaults of Parnassus (3rd party Python modules) |
Python online cookbook (lots of useful recipes) |
Python GUI programming overview |
Pmw home page |
Introduction to Glade (a PyGtk GUI generator) |
PAGE (a Tk GUI generator) |
NumPy home page |
SciPy home page (tools for scientific computing with Python) |
Jython home page |
Zope and Plone (tools for building sophisticated Web applications) |
ActiveState home page |
Tcl/Tk home page |
PyLint (source code style checker) |
WAD (new tool for debugging mixed language Python-C applications) |
PyDebug (tool for debugging mixed language Python-C/C++/F77 applications) |
D. Beazley's Advanced Python Programming tutorial |
Dive Into Python (on-line Python book) |
PythonInScience (overview of scientific Python applications and tools) |
PyTables (Python interface to HDF5) |
Kodos (visual debugging of regular expressions) |
getargs (a command-line parser) |
PythonCard home page (simplified wxPython interface) |
Pyrex guide (simplified writing of C extension modules) |
Psyco (just-in-time Python to C compiler) |
Weave (inline C++ compilation of NumPy expressions) |
PyInline (inline compilation of C code) |
Motivation for using Python |
Python optimization tips |
van Rossum: Loop optimizations in Python |
Montanaro: Optimization of Python scripts |
HTMLgen (generation of HTML code, like Perl's CGI module) |
pybibliographer (handles bibliographic databases) |
VPython (3D visualization) |
Visual Python (scripting front end to GNOME and KDE) |
Biggles (advanced curve plotting with Python) |
CDchart and its Python interface (graph/chart plotting for CGI scripts) |
Various random number generators (C extension) |
Writing Python extensions in C (tutorial) |
Web programming with Python |
Anygui: unified GUI programming interface to Tkinter, Qt, java.swing, wxPython, Gtk, ... |
Install procedures distributing scripts as compiled executables |
Embedding C/C++ code with Python intro and examples |
JUnit (unit test framework) |
Python for teaching programming in high schools |
SWIG home page | |
SWIG source code | |
SWIG Users Manual | Original source |
CVS home page | |
CVS manual | Original source |
Ghostscript utilities |
PNG home page |
Zlib home page |
Gnuplot home page |
Gnuplot manual in HTML and PostScript |
Gnuplot FAQ |
Gnuplot - not so frequently asked questions (advanced info) |
See also the demo subdirectory of the source distribution of Gnuplot |
Downloading Gnuplot (Unix and Windows) |
ImageMagick home page |
ImageMagick documentation |
Jhead: JPEG header decoder (for digital camera images) |
mpeg_encode user guide |
mpeg_encode parameter file (template file with lots of comments) |
A C tutorial |
A Fortran 77 tutorial |
Professional Fortran Programming/A> |
An Introduction to C++ |
List of C++ tutorials |
www.mathtools.net |
Dinkum C++ Library Reference |
Introduction to and overview of Unix |
ELLIPT2D: a flexible finite element code written in Python (A. Pletzer and J. C. Mollis) |
Scientific Computing with Python (D. M. Beazley) |
PySparse (sparse matrix eigenvalue problems) (R. Geus) |
PyFemax (finite element methods) (R. Geus) |
Numerical Python Electromagnetic Fields Project |
Perl FAQ | Original source |
Man pages: use perldoc | (on the command line) |
Basic Perl | Stable production release |
Perl/Tk | Perl's Tk extension |
ActivePerl | ActiveState's Perl distribution (recommended Perl for Windows) |
CPAN | Perl modules |
Epsmerge (merge EPS files into one PostScript file) |
html2ps (conversion of HTML to PostScript) |
CTAN (TeX/LaTeX archive) |
Some Introductory Notes on LaTeX |
Intro to LaTeX |
The documentation links come in two versions, one to a local repository of HTML files and one to the original source on the Internet. The local repository, including the current file, can be downloaded as a tarfile and enables faster document navigation in general. Of course, if you work on a portable computer or over a slow modem network, local copies of Web documents that you often use is a requirement.
With a link to the original source of the documentation, you can easily check if you need to update the HTML files. (Hint: use Python's websucker.py or Perl's lwp-rget script to download nested HTML files.)
Debian Packages
Many people, including the author, find it very convenient to download
software from the Debian package pages:
http://www.debian.org/Packages/stable/ or (preferably)
http://www.debian.org/Packages/unstable/.
In the unstable Debian distribution you can normally find the latest
version of a specific package. (The word unstable is in this context - of
downloading source codes - quite
misleading.)
At the Debian sites you can find all sorts of software, with precise information on which versions of other packages that the software depends on. If you are running a Debian Linux system, you can download precompiled packages and install them with a single command. However, the description in this appendix is based on compiling the source code, which is a more general approach. The Debian packages are also distributed as tar files with the complete source code; just focus at the ``Source Code'' in small fonts under the ``Go To Download'' button.