Scripting Resources

Google is a useful Internet search engine for programmers.

Python

Documentation

Python Documentation Original source (The official Python documentation)
Python Library Reference: Index (same original source as the previous item)
Search the official Python documentation
Quick Reference: HTML, text Original source (by C. Hoffmann et al., for v2.1)
Quick Reference: HTML, PDF Original source (by J. W. Shipman, for v2.2)
Pmw documentation Original source (comes with the source code)
PmwContribD documentation Original source (comes with the source code)
Introduction to Tkinter Original source
Tkinter manpages Original source
Tkinter Lifepreserver Original source (outdated, but still useful)
Tkinter Quick Reference (PDF) Original source
Original Tk manpages Original source
Python Regex HOWTO Original source
Pmw.Blt documentation
Python/Tcl Programming with Tix Original source
Tcl/Tix Programmer's Guide Original source
Tix manpages Original source
Python FAQ Original source
Introduction to IDLE Original source
Python knowledge base (searchable Web site)
Numeric (NumPy) Original source
Numarray (NumPy) Original source
Gnuplot interface Original source (comes with the source code)
Epydoc Original source (comes with the source code)
Pydoc tutorial
HappyDoc Original source (comes with the source code)
ScientificPython: manual and tutorial Original source (comes with the source code)
SciPy tutorial Original source
Chaco documentation Original source
F2PY: User's Guide and overview Original source (manual)
SCXX Original source
Python Imaging Library (PIL) Original source
pymat: Python-Matlab interface Original source
Unum: unit conversion Original source
PyPar: PDF tutorial, doc Original source
Style guide for Python Code Original source
Style guide for docstrings Original source
py4cs package Original source

Source code

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

Useful links

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
SWIG home page
SWIG source code
SWIG Users Manual Original source

Other Tools

Applications of Python to Scientific Computing

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

Documentation

Perl FAQOriginal source
Man pages: use perldoc (on the command line)

Source code

Basic Perl Stable production release
Perl/Tk Perl's Tk extension
ActivePerl ActiveState's Perl distribution (recommended Perl for Windows)
CPAN Perl modules

Useful links

Perl home page
CPAN
Perl mongsters
ActiveState home page
Yahoo Perl information
A Perl reference with search facilities
A general resource for online Perl documentation
The World Wide Web Security FAQ
The Idiot's Guide to Solving Perl CGI Problems
Perl CGI Programming FAQ
Web Forms Tutorial
Perl debugger with GUI
A Perl course
A Perl course
A Perl course
A Perl course
Intro to Perl with emphasis on Web applications
Intro to Perl with emphasis on Web applications
Perl/Tk introduction
Perl debugger with GUI
The Perl Journal
CDchart and its Perl interface (graph/chart plotting for CGI scripts)
Why Not Translate Perl to C? (on the efficiency of Perl vs. C)

Useful utilities

LaTeX

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

Some Information

This page lists links to useful resources for scripting, including documentation and source code for downloading.

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.