Python Libs for Scientists
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.
- Django (web framework)
- Twisted → event-driven (non-blocking) network programing framework. (like node.js)
package, environment, shell, systems
- iPython (ipython.org). → advanced interactive shell for Python, also with notebook interface, and embedded images.
- 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.
- matplotlib (http://matplotlib.org/) → plotting lib for Python.
- SciPy (http://docs.scipy.org/) → lib of algorithms and math tools
- 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.