Python Scientific Lecture Notes edited by Valentin Haenel, Emmanuelle Gouillart and Gaël Varoquaux.
From the description:
Teaching material on the scientific Python ecosystem, a quick introduction to central tools and techniques. The different chapters each correspond to a 1 to 2 hours course with increasing level of expertise, from beginner to expert.
Coverage? Here is the top level of the table of contents:
1. Getting started with Python for science
1.1. Scientific computing with tools and workflow
1.2. The Python language
1.3. NumPy: creating and manipulating numerical data
1.4. Getting help and finding documentation
1.5. Matplotlib: plotting
1.6. Scipy : high-level scientific computing
2. Advanced topics
2.1. Advanced Python Constructs
2.2. Advanced Numpy
2.3. Debugging code
2.4. Optimizing code
2.5. Sparse Matrices in SciPy
2.6. Image manipulation and processing using Numpy and Scipy
2.7. Mathematical optimization: finding minima of functions
2.8. Traits
2.9. 3D plotting with Mayavi
2.10. Sympy : Symbolic Mathematics in Python
2.11. scikit-learn: machine learning in Python
The contents are available in single and double sided PDF, HTML and example files, plus source code.
I first saw this in a tweet from Scientific Python.