Python Libs for Scientists

By Xah Lee. Date: . Last updated: .

[Kurt Schwehr https://plus.google.com/102101513984015207006/posts] is a Python expert and ocean geologist.

I'm trying to get deeper into Python, and asked him what's some Python packages. Here's his answer. ([source https://plus.google.com/112757647855302148298/posts/MbZzYk1DsEG])

Hi Xah, That's a great question that is likely going to get very different answers from different people. First, my list that is less specific to my fields of work... general: ipython, cython, argparse, virtualenv, distribute. I have never gotten into cython myself, but the resulting APIs that use it are definitely very good.

Now the list that includes stuff related to my work topics: matplotlib, scipy/numpy, lxml, pandas, shapely, and gdal (not my favorite Python API design, but the functionality is critical).

And finally a list of packages are amazing (and amazingly daunting)… django, twisted

Here's what these packages are. Items are roughly arranged by category, general interest first.

Popular

Django
Web framework
Twisted
Event-driven (non-blocking) network programing framework. (like node.js)
[argparse] ( http://docs.python.org/dev/library/argparse.html )
Package for parsing command line args, unix style.
[lxml] ( http://lxml.de/ )
XML/HTML parser.

package, environment, shell, systems

[iPython] ( https://en.wikipedia.org/wiki/iPython ) ([ipython.org] ( http://ipython.org/ )).
Advanced interactive shell for Python, also with notebook interface, and embedded images.
[Cython] ( https://en.wikipedia.org/wiki/Cython )
https://pypi.python.org/pypi/virtualenv
Python virtual environment. (different Python apps can use different versions of libs, etc.)
https://pypi.python.org/pypi/distribute
Python package/update system.

Scientific Programing

[matplotlib] ( https://en.wikipedia.org/wiki/matplotlib ) (http://matplotlib.org/)
Plotting lib for Python.
[SciPy] ( https://en.wikipedia.org/wiki/SciPy ) (http://docs.scipy.org/)
Lib of algorithms and math tools
[NumPy] ( https://en.wikipedia.org/wiki/NumPy ) (http://www.numpy.org/)
Extension that supports computing large multi-dimensional array/matrices. (like Matlab)
http://pandas.pydata.org/
Python Data Analysis Library
https://pypi.python.org/pypi/Shapely
Package for manipulation and analysis of planar geometric objects
http://www.gdal.org/
Geospatial Data Abstraction Library.