Skip to main content
Back to top
Ctrl
+
K
Advanced Python for science
About this training
Preliminaries
About setting up a computer for scientific computing
Notes for Windows users
Notes for macOS users
Notes for Linux and WSL users
Python
Conda ecosystem
Editors/IDE
Versioning tools
Clone the repo of this training
Appetizer with JupyterLite
Introduction to JupyterLab
First steps with pure Python
First usage of Python libraries
Generalities on Python
Main characteristics
Python limitations
Different ways to use Python
Tools to develop Python code
Basic Pure Python
Preliminaries
Strings, bytes and immutability
Conditions (
if
and
match
blocks)
Lists and tuples
Loops (while and for)
Exceptions and traceback
Read / write files
More data structures
Structure and reuse code
Functions (very basics)
Modules, packages and imports
Classes and objects
The standard library
Documentation and testing
Back to functions (less basics)
Using Python software
PyPI and PyPA
Conda and the conda-forge project
Global installations of Python tools
Using Python libraries
Basic packaging
Scientific Python (basics)
Python scientific ecosystem
Create your own working environment
Introduction to Numpy and the Python Array API standard
NumPy efficiency
Creation of Numpy arrays
Manipulating NumPy arrays
Introduction to Matplotlib and alternatives
Introduction to Pandas and alternatives
Recommended file formats
HDF5 and NetCDF files
Software engineering
Versioning
Continuous integration
Documentation
Debugging
Gradual typing
Intermediate pure Python
Decorators
OOP and magic methods
Generators
OOP and heritage
Define context managers
Performance optimization
Generalities on optimization in sequential
Profiling
Other languages and wrapping
Wrapping C and C++
Wrapping Rust
Wrapping Fortran
Parallelism
Threading
Concurrency
Multiprocessing
MPI and mpi4py
Tools for Python HPC
Cython
Pythran
Numba
JAX
Codon
Application on numerical kernels
NBody
DTW
A bit of Web
Native Python applications
GPU
Databases
Future & science fiction
Subinterpreters
Free Threading Python
Faster CPython and CPython JIT
HPy
Repository
Open issue
.md
.pdf
DTW
DTW
#