Advanced Python for science#
This is a website for a training on Python for science written by the group py-edu-fr.
Content#
- About this training
- Preliminaries
- Appetizer with JupyterLite
- Generalities on Python
- Basic Pure Python
- Structure and reuse code
- Use, make & share Python software
- Scientific Python (basics)
- Recommended file formats
- Software engineering
- Intermediate pure Python
- Performance optimization
- Other languages and wrapping
- Parallelism
- Tools for Python HPC
- Application on numerical kernels
- A bit of Web
- Native Python applications
- GPU
- Databases
- Future & science fiction
Todo
Quick intro to file format
(The original entry is located in /builds/py-edu-fr/py-edu-fr/books/science/book/file-formats/hdf5-netcdf.md, line 16.)
Todo
Editors / IDE (JupyterLab, VSCode/VSCodium and Spyder)
basis
main extensions for Python
debug
sync configuration
overall comparison between these IDEs
(The original entry is located in /builds/py-edu-fr/py-edu-fr/books/science/book/generalities/dev-tools.md, line 78.)
Todo
Check before December 2025
First intro immutability
First sequence: indexing, slicing, lookup (keyword
in)Notions of objects and methods
str (unicode)
bytes (utf-8, latin1, …)
(The original entry is located in /builds/py-edu-fr/py-edu-fr/books/science/book/pure-python-basic/strings.md, line 271.)
Todo
Add more explanations on lock files and reproducibility.
(The original entry is located in /builds/py-edu-fr/py-edu-fr/books/science/book/py-software/libraries.md, line 110.)
Todo
Better explain different aspects of packaging (with testing, linting, formatting and doc)
We base the presentation on a simple tool to visualize info from Wikipedia using packages like sys, os, pathlib, argparse and third-party dependencies like Requests and Textual…
Documentation with Sphinx + mention MkDocs and Readthedocs
(The original entry is located in /builds/py-edu-fr/py-edu-fr/books/science/book/py-software/packaging.md, line 132.)
Todo
Based on https://matplotlib.org/, in particular https://matplotlib.org/stable/users/explain/quick_start.html and https://matplotlib.org/stable/gallery/index.html.
Mention Vega-Altair
(The original entry is located in /builds/py-edu-fr/py-edu-fr/books/science/book/scientific/matplotlib.md, line 16.)
Todo
Based on Numpy documentation (https://numpy.org/), in particular https://numpy.org/doc/stable/user/absolute_beginners.html.
Mention the Python Array API standard
(The original entry is located in /builds/py-edu-fr/py-edu-fr/books/science/book/scientific/numpy.md, line 16.)
Todo
Based on https://pandas.pydata.org/, in particular https://pandas.pydata.org/docs/user_guide/10min.html and https://pandas.pydata.org/docs/getting_started/intro_tutorials/index.html
Also mention [Polar], in particular https://docs.pola.rs/user-guide/getting-started/
(The original entry is located in /builds/py-edu-fr/py-edu-fr/books/science/book/scientific/pandas.md, line 16.)
Todo
Check standard library
Small examples from (or just mention)
sys,os/shutils,copy,pathlib/globargparse,math,re,dataclasses,itertools,turtle,functools,unittest,collections,datetimeMention good alternatives outside of the standard library (pytest, click, requests/urllib3, typing-extensions, python-dateutil/pendulum, fsspec, certifi, idna, …)
(The original entry is located in /builds/py-edu-fr/py-edu-fr/books/science/book/structure-reuse-code/standard-library.md, line 222.)