Scripting Resources

Google is a useful Internet search engine for programmers.

Python

Documentation

Python Documentation
Python Library Reference: Index
Search the official Python documentation
Python Quick Reference
Python Regex HOWTO
Python FAQ
IPython User Manual
Introduction to IDLE
Python knowledge base(searchable Web site)
NumPy tutorial
Numeric(deprecated)
Numarray(deprecated)
ScientificPython
SciPy tutorial
Gnuplot interface
Matplotlib tutorial
Pmw documentation
PmwContribD documentation
Introduction to Tkinter
Tkinter in Python Library Reference
Tkinter Quick Reference
Tkinter Life Preserver
Original Tk manpages
Pmw.Blt documentation
Python/Tcl Programming with Tix
Tcl/Tix Programmer's Guide
Tix Manual Index
Epydoc
Pydoc tutorial
HappyDoc
F2PY(part of NumPy)
SCXX
Python Imaging Library (PIL)
pymat: Python-Matlab interface
PyPar
PyPar tutorial
Style guide for Python Code
Style guide for docstrings
py4cs package

Source code

PythonBasic Python source
ActivePythonActiveState's Python distribution (for Linux and Windows)
Enthought PythonRecommended Python for Windows
Python for Windows extensionspywin* modules with MFC wrappers, COM support, etc.
Pmw Python megawidgets
IPython Interactive Python shell
Tcl/Tk Various Tcl/Tk versions
BLTBLT extension to Tk
TixTix megawidgets
GNU readline libraryNeeded for interactive Python shells
Numerical Python project pageFast array computing in Python
ScientificPython package More numerical extensions to Python
Gnuplot interfaceDirect visualization of Python data with Gnuplot
MatplotlibCurve plotting with Matlab syntax
PyIDLPython interface to IDL
PygracePython interface to the Grace plotting tool
VtkVisualization package w/Python interface
MayaViHigh-level GUI and scripting interface to Vtk
PyOpenGLAdvanced (low level) graphics
PyXTeX-like Python interface to PostScript drawing
disipylPython interface to the DISLIN curve/surface plotting package
PIL: Python Imaging LibraryImage processing tools
SciPyComprehensive scientific computing support
LAPACKNeeded for SciPy
ATLASNeeded for SciPy
MatPyLinear Algebra Supplement to NumPy
PmwContribD Additional Pmw widgets
PyMatPython interface to Matlab (use CVS version!)
EpydocTool for documenting Python source code
HappyDocTool for documenting Python source code
UnumUnit conversion
Boost.PythonTool for writing extensions modules in C++
SIP Tool for writing extensions modules in C++
SCXXTool for writing extensions modules in C++
CXXTool for writing extensions modules in C++
ValgrindTool for debugging extensions modules
DocutilsUtilities for writing documents, manuals, etc.
PyParParallel Python programming
pyperlCall Perl from Python
TableIOC code for reading tables in files
Cheve GUIConfigurable look and feel for Python/Tkinter GUI applications
PyXML XML processing tools
GnosisHigher-level XML processing tools

Useful links

Python home page
PyPI: Python package index (3rd party modules)
Vaults of Parnassus (3rd party Python modules)
Python Learning Foundation (tutorials, overviews, etc.)
Python online cookbook (lots of useful recipes)
NumPy and SciPy documentation (overview)
IPython (enhanced interactive Python shell)
Python GUI programming overview
Another Python GUI programming overview
Pmw home page
PAGE (a Tk GUI generator)
Urwid (GUI in plain text windows)
Twilight GUI (wrapper for PyQt, PyGtk, wxPython, Tkinter)
Generation of Python GUIs with Glade (a PyGtk GUI generator)
Another introduction to Glade
Glade-2 tutorial
PyGtk tutorial
PyQt/QtDesigner tutorial
PyQt tutorial
wxPython home page (widespread GUI library)
Wax (Tkinter-like simple-to-use layer on top of wxPython)
wxGlade (GUI designer for wxPython)
PythonCard home page (simplified wxPython interface)
Py (many useful tools, part of wxPython)
Numeric, numarray, and numpy info
SciPy home page (tools for scientific computing with Python)
MatPy - Matrix package for Python (linear algebra supplement to Numerical Python)
Jython home page
Quixote (tools for easy building of Web applications)
Zope and Plone (tools for building sophisticated Web applications)
ActiveState home page
Tcl/Tk home page
PyLint (source code style checker)
Python IDEs (editors, graphical development environments for Python)
pexpect (makes interactive applications scriptable)
which.py (advanced application finder on Unix and Windows)
Various tutorials for Python tools (Penzilla.net)
Thinking in Python (design patterns and advanced programming)
Advanced Python Programming tutorial by D. Beazley
Dive Into Python (on-line Python book)
Data Structures and Algorithms ... (on-line Python book)
PythonInScience (overview of scientific Python applications and tools)
PyTables (Python interface to HDF5)
pynci (Python interface to netCDF)
Scientific.IO.NetCDF (Python interface to netCDF)
pyparsing (simple-to-use text parser)
PLY (lex/yacc-like parser in Python)
Kodos (visual debugging of regular expressions)
Gnosis software review (lots of XML/Python info by D. Merz)
Simple CGI script for uploading files (over the Internet)
More advanced CGI script for uploading files (over the Internet)
Pyrex (simplified writing of C extension modules)
Pyrex introduction
Psyco (just-in-time Python to C compiler)
Weave (inline C++ compilation of NumPy expressions, part of SciPy)
Instant (inline C/C++ compiler for Python code)
PyInline (inline compilation of C code)
Python optimization tips
van Rossum: Loop optimizations in Python
Montanaro: Optimization of Python scripts
pybibliographer (handles bibliographic databases)
SAGE (symbolic and numerical math software in Python)
Swiginac (symbolic mathematics in Python, based on GiNaC)
Pyginac (symbolic mathematics in Python, based on GiNaC)
SymPy (symbolic mathematics in Python, as a pure Python module)
mlabwrap (Matlab commands directly available as Python functions)
Various random number generators (C extension)
SYFI (symbolic generation of finite element basis functions)
VLC (recommended movie player for MPEG, AVI, ...)
cgkit (Python Computer Graphics Kit)
VPython (easy-to-use 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)
ChomboVis (high-level Python-based GUI interface to Vtk)
Pivy (interface to the Coin 3D graphics library (an OpenInventor clone))
PyQwt (plotting widgets for PyGtk GUIs)
Install procedures and cx_Freeze (distributing scripts as compiled executables)
Embedding C/C++ code with Python (intro and examples)
Tools for implementing decorators
scipy.org/Topical_Software (list of Python-based scientific software)
FiPy (tools for finite volume programming)
PyDSTool (simulation of dynamical systems)
PySparse (sparse matrices, solvers, eigenvalues)
NumPy for Matlab/IDL/R users (see what Matlab commands are in NumPy and R)
NumPy for Matlab users (Matlab-NumPy comparison)
SciPy Tutorial (slightly outdated, but still useful)
SciPy Course (online course for SciPy, NumPy, PyTables, Matplotlib)
Setuptools (enhancements to Distutils)
Distutils for NumPy, SciPy, F2PY, etc.
Moveable Python (easy distribution of your complete Python environment)
Python pitfalls (strange and dangerous things in Python)
Python gotchas (more Python pitfalls)
reStructuredText intro (powerful documentation format)
preprocess.py (C-like preprocessor for Python code)
EmPy (system for processing Python as markup embedded in text)
PyReport (system for nice printout of Python code and program output)
Python for teaching programming in high schools

Other Tools

Perl

Documentation

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

Source code

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

Useful links

Perl documentation (searchable)
Perl home page
CPAN
Perl mongsters
ActiveState home page
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 debugging
Perl/Tk introduction
Perl debugger with GUI
CDchart and its Perl interface (graph/chart plotting for CGI scripts)
Why Not Translate Perl to C? (on the efficiency of Perl vs. C)

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.