Python has become a dominant language for scientific computing, and for good reason. It is free, open-source, runs on every major operating system and has an enormous ecosystem of libraries built specifically for numerical work, data analysis, and visualization.

For this tutorial the most important libraries are:

Library What it does
NumPy Fast numerical arrays and the mathematical functions that operate on them
SciPy Scientific algorithms including special functions and numerical integration
Matplotlib Publication-quality plots and figures
JupyterLab An interactive notebook interface that combines code, text, and figures in a single document

Python is also designed to be readable. The goal of this tutorial is for you to understand every line of code you write — not just run it and hope for the right answer. Clear variable names and well-structured code are habits worth building from the very first session.

Python versions and this tutorial

This tutorial was written for Python 3.12 or later. The package manager introduced in the next page — uv — will install the correct Python version automatically.


What's next: Installing uv — the tool that manages Python and your project dependencies.