Extensive documentation is available through the core Python reference here: https://docs.python.org/3/.
Raymond Pierrehumbert also has a webpage dedicated to learning Python with many useful links and tutorials here: https://users.physics.ox.ac.uk/~pierrehumbert/PrinciplesPlanetaryClimate/Python/pythonLearning.html
The freely available Dive Into Python 3 book is a good resource for learning the Python language: http://www.diveintopython3.net/
Although they aren't released with Python, these are all well tested, documented and supported.
- Numpy - Numerical array types and operations
- SciPy - Fast linear algebra and optimisation routines
- Matplotlib - General plotting routines modelled on MatLab
- Pandas - Extensive (time)-series analysis routines
These aren't covered in the course but are still very well regarded and may be useful.
- SymPy - Symbolic maths libary
- xarray - For working with large arrays of data
- [scikit-learn] (http://scikit-learn.org) - Machine learning algorithms
- [scikit-image] (http://scikit-image.org) - Image processing algorithms
- CIS - For working with observational data and collocation with model data
- Iris - For working wiht model data
- Cartopy - For plotting geo-data
- Shapely - For working with geometric objects (based on geos)
- [numexpr] (https://github.com/pydata/numexpr) - Fast, multi-core array operations
- cython - Easily write C extensions for Python
- numba - Speeds up Python code by compiling it first
- mpi4py - MPI bindings in Python
- f2py - Call compiled Fortran routines from Python
- recipy - Keep track of all the inputs and outputs of your scripts
- lmfit - Advanced curve fitting routines
- Oxford Python Users Group: https://groups.google.com/forum/#!forum/oxford-python-users
- Iris forum: https://groups.google.com/forum/#!forum/scitools-iris
- CIS forum: http://cistools.net/forum/