Appendix A

This is a partial listing of third party packages and programs that incorporate Python for various scientific disciplines. In some cases, it can be useful to look at Python(x,y), Anaconda, and Canopy package lists for a more complete listing.

General Purpose

  • Numpy

    Provides N-dimensional numerical array objects and some linear algebra routines. Pretty much the base of every scientific package for Python.

  • Scipy

    A broad range of scientific functions for integration, optimization, linear algebra, Fourier transforms, image processing, etc. See the documentation for more details.

  • Matplotlib

    The de facto 2D plotting library for Python. Has some limited 3D capabilities as well.

  • Veusz

    A GUI based plotting package. This is designed to be more interactive than Matplotlib but has much of the same functionality.

  • Pandas

    A very powerful data analysis library. Provides DataFrames, which are based on a similar concept in R, which essentially act like Excel spreadsheets on steroids.

  • PyTables

    A package for working with HDF5 files, which are an open-source file type designed for working with very large amounts of data. This is very useful if you have really large amounts of data that won’t fit entirely into memory.

  • lmfit-py

    An extension of Scipy’s non-linear least squares functions, leastsq and curve_fit, that lets you set bounds on parameters

  • nbviewer

    A website that displays freely available IPython notebooks on the web.

Chemistry

  • nmrglue

    A module for working with NMR data in Python

  • Topspin

    Bruker’s NMR control and processing software uses Python for automation and pulse sequence design.

  • Avogadro

    A 3D molecule builder and viewer. This uses Python for scripting. A newer version is being developed by Kitware.

  • Larch

    A software for analysis of XAS data. The next generation of IFeffit.

  • PyMca

    X-ray fluorescence toolkit, developed as ESRF

Biology

  • Biopython

    Freely available tools for biological computations.

Earth and Oceanographic Science

  • ArcGIS

    ArcGIS uses Python as its scripting language for automation through it’s ArcPy module.

  • Shapely

    Analysis of geometric (2D) objects. Apparently built on top of the GEOS and ITS libraries.

  • Basemap

    A Matplotlib toolkit for plotting on top of maps.

  • Iris

    Visualization and analysis of meteorological and oceanographic data.

Mathematics

  • Sage

    Ridiculously powerful mathematics software that uses Python as it’s interface language. Aims to be an open-source alternative to Mathematica, Matlab, etc.

  • SymPy

    Symbolic mathematics library. Very useful if you don’t need all of the stuff that comes with Sage.

Astronomy

  • astropy

    A suite of astronomy packages.

Cloud Computing Services

  • PiCloud

    An online serves for distributed computing.

Documentation Generation

  • Sphinx

    The standard Python documenation system. Used to make the main Python documenation. This website is a Sphinx-generated site.

  • Dexy

    Another more recent documentation system for scientific document automation.