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 is 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.