Python
Python
- Awesome Python: a curated list of Python stuff.
Python IDEs
- VSCode + Python extension.
- PyCharm by Jetbrains.
- Spyder: a free and open source scientific environment for Python.
- Jupyter Lab: a highly extensible, feature-rich notebook authoring application and editing environment
Run Python Notebooks online
- Google Colab: an online jupyter notebook platform for machine learning.
- Binder: make online (e.g., GitHub repo) notebooks executable.
Package Manager for Python
- uv:
uvis a drop-in replacement forpip, an extremely fast Python package and project manager written in Rust. - pixi:
pixisupports both condaenvironment.ymland piprequirements.txtfiles. - Anaconda Python: a full set of scientific Python packages with the
condapackage manager. - miniforge : minimal installation withcondaandmambapackage managers and theconda-forgecommunity packages.- micromamba:
micromambais a standalone version of themambapackage manager.
- micromamba:
- pipenv: the official dependency management tool for Python packages.
- Poetry: Python packaging and dependency management.
- pdm: A modern Python package manager with PEP 582 support.
Python tutorials
General
- Learn Python in Y minutes
- Python cheatsheet
- Automate the Boring Stuff with Python
- Python Course Europe
- A Byte of Python
- Think Python: How to think like a Computer Scientist
- Project Python
- IPython cookbook
- The Hitchhiker’s Guide to Python
- Cracking Python bootcamp
- Replacing bash scripts with Python
Visualizations
- Python Graph Gallery
- Matplotlib official examples
- Seaborn with examples.
- Top 50 matplotlib plots
- Matplotlib, Seaborn, and Plotly tutorial
Scientific
- Python Course | Numerical programming
- QuantEcon Python
- Scipy Lecture Notes
- SciPy Cookbook
- Elegant scipy
- Python Data Science Handbook
- Numpy Tutorial part1. Part2
Data Processing and Machine learning
- Python Pandas Data Frame Basics
- 30 Essential Data Science, Machine Learning & Deep Learning Cheat Sheets
- Machine Learning Plus
- MIT deep learning
Scientific machine learning
- deepxde : deep learning and differential equations.
- jax : Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more.
- diffrax : Numerical differential equation solvers in JAX.
Python in GitHub actions
- https://github.com/actions/setup-python
- https://github.com/mamba-org/setup-micromamba
- https://github.com/astral-sh/setup-uv
Pip packages
The https://github.com/actions/setup-python actions installs python with a specific version and could cache downloaded Python packages. (But not the installed environment).
uv is a drop-in replacement for pip, an extremely fast Python package and project manager written in Rust. uv caches the environment by default.
name: UV example
env:
UV_SYSTEM_PYTHON: 1
jobs:
python:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
check-latest: true
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"
- name: Install requirements
run: uv pip install -r requirements.txtConda packages
The https://github.com/mamba-org/setup-micromamba action installs the micromamba package manager and conda package dependencies. It also caches the Python runtime environment.
- uses: mamba-org/setup-micromamba@v1
with:
environment-file: environment.yml
init-shell: bash
cache-environment: true
post-cleanup: 'all'
- name: Run custom command in micromamba environment
shell: micromamba-shell {0}
run: python --versionLast updated on