Python Libs for Scientists

By Xah Lee. Date: . Last updated: .

[Kurt Schwehr] 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])

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.


Web framework
Event-driven (non-blocking) network programing framework. (like node.js)
[argparse] ( )
Package for parsing command line args, unix style.
[lxml] ( )
XML/HTML parser.

package, environment, shell, systems

[iPython] ( ) ([] ( )).
Advanced interactive shell for Python, also with notebook interface, and embedded images.
[Cython] ( )
Python virtual environment. (different Python apps can use different versions of libs, etc.)
Python package/update system.

Scientific Programing

[matplotlib] ( ) (
Plotting lib for Python.
[SciPy] ( ) (
Lib of algorithms and math tools
[NumPy] ( ) (
Extension that supports computing large multi-dimensional array/matrices. (like Matlab)
Python Data Analysis Library
Package for manipulation and analysis of planar geometric objects
Geospatial Data Abstraction Library.