Awesome Scientific Python
A curated list of awesome scientific Python resources.
Contents
- Contents
- Libraries
- Books
- Courses
- Tutorials
- Videos
- License
Libraries
Core libraries
IPython/Jupyter
Effective interactive computing, data analysis, and visualization.
- IPython - Interactive Python computing in the terminal.
- Jupyter - Open interactive computing in many programming languages.
- Jupyter Notebook - Web-based environment for interactive computing.
- JupyterLab - Next-generation web-based interactive programming and computing environment.
NumPy
Multidimensional array computing.
SciPy
Numerical computing library.
pandas
Data analysis library.
scikit-learn
Machine learning library.
matplotlib
Data visualization and graphics library.
SymPy
Symbolic computing library.
Other scientific libraries
Data visualization
- Bokeh - Interactive visualization for the web.
- Altair - Declarative visualization in Python.
- seaborn - Statistical data visualization.
- bqplot - 2D interactive visualization in Jupyter.
- plotnine - Grammar of Graphics implementation in Python based on ggplot2.
- plotly - Interactive data visualization on the web.
- HoloViews - Data visualization library.
- Napari - Multi-dimensional image viewer for python.
3D visualization
- ipyvolume - 3D visualization with Jupyter.
- VisPy - Interactive GPU-accelerated visualization.
- Glumpy - Scientific visualization in modern OpenGL.
- vedo - Scientific analysis and visualization based on VTK.
Image processing
- scikit-image - Image processing in Python.
- Pillow - Python Imaging Library (PIL) fork in Python.
- OpenCV - Computer vision library.
Graphs
- NetworkX - Graph and network structures and algorithms.
- Graph-tool - Manipulation and statistical analysis of graphs.
Neural networks
- PyTorch - Neural networks and deep learning in Python.
- Keras - Python deep learning library.
- TensorFlow - Machine learning framework.
- Caffe - Deep learning framework.
Statistics
- PyMC3 - Bayesian statistical modeling.
- statsmodels - Statistical models.
- emcee - ensemble sampler for markov chain monte carlo.
Compilation
Parallel computing
- ipyparallel - Parallel computing with IPython
- Dask - Parallel computing with task scheduling.
GPU computing
Domain-specific libraries
Geospatial data
- GeoPandas - pandas for geospatial data.
- Shapely - Manipulation and analysis of geometric objects.
- Folium - Interactive maps in Python with leaflet.js.
Astrophysics
Molecular simulations
- MGLTools - Visualization and analysis of molecular structures.
- MDAnalysis - Molecular dynamics simulations
- pysimm - Molecular simulations
- PyMOL - Molecular visualization
- Molecular Modeling Toolkit
Bioinformatics
- Biopython - Biological computations.
- PyBioMed - Descriptors of biological molecules.
- khmer - k-mer counting, filtering, and graph traversal.
Neuroimaging
- NiBabel - Neuro-imaging file formats.
- Nilearn - Machine learning for neuro-imaging.
- NiTime - Time series.
- MNE - MEG and EEG.
- DIPY - Diffusion MR imaging.
- Expyriment - Behavioral and neuroimaging experiments.
Neuroscience
- Brian2 - Simulations of spiking neural networks.
- Spyking Circus - Spike sorting on large extracellular recordings.
- Klusta - Spike detection and clustering-based spike sorting.
- phy - Manual spike sorting for high-density multielectrode arrays.
- NeuroTools - Tools for neural simulations.
- Neo - File formats for neuroscience.
- PsychoPy - Psychology and neuroscience experiments.
- Nengo - Simulation of large-scale brain models
- PyGaze - Eye tracking.
Mathematics
Lists of libraries
- Python Numeric and Scientific - on python.org.
- Scientific Computing Tools for Python - on scipy.org.
- Useful libraries for data science in Python - by Sebastian Raschka.
- Python for Scientific Audio - by Fabian-Robert Stöter.
Books
- Python Data Science Handbook - Jake VanderPlas, O'Reilly, 2016, 541 pages.
- Python for Data Analysis - William McKinney, O'Reilly, 2017, 544 pages (second edition).
- Learning IPython for Interactive Computing and Data Analysis, Cyrille Rossant, Packt Publishing, 2015, 200 pages (second edition).
- IPython Interactive Computing and Visualization Cookbook, Cyrille Rossant, Packt Publishing, 2018, 548 pages (second edition).
- A Primer on Scientific Programming with Python - Hans Petter Langtangen, Springer, 2014, 872 pages.
- Exploring Data with Python - Naomi Ceder, Manning 2018, 110 pages.
- Deep Learning with Python - François Chollet, Manning, 2017, 384 pages.
- Python Machine Learning - Sebastian Raschka & Vahid Mirjalili, Packt Publishing, 2017, 622 pages (second edition).
Courses
- Stat 159/259, Reproducible and Collaborative Data Science - Fernando Perez, Berkeley University, 2017.
- CME 193, Introduction to Scientific Python - Stanford University, Sven Schmit, 2015.
- Using Python for Research - Jukka-Pekka Onnela, Harvard University Online Learning.
- Introduction to Data Analytics and Machine Learning with Python - University of London.
- PHY 546: Python for Scientific Computing - Stony Brook University, Michael Zingale, 2018.
- Python for Data Analysis - Luke Thompson, NOAA.
- Coursera Data Science with Python - University of Michigan.
- edX Python for Data Science - UC San Diego, Ilkay Altintas, Leo Porter.
- edX Foundations of Data Science: Computational Thinking with Python - UC Berkeley, Ani Adhikari, John DeNero, David Wagner.
- Python Course - Bernd Klein.
- Intro to Python for Data Science - DataCamp, Filip Schouwenaars.
- Schools using Python - on python.org.
Tutorials
- SciPy Lecture Notes
- Lectures on scientific computing with Python - Robert Johansson.
- NumPy Illustrated - The Visual Guide to NumPy - Lev Maximov.
- Python NumPy tutorial - Justin Johnson, Stanford University.
- Real Python Python Data Science Tutorials
- A gallery of interesting Jupyter Notebooks
- List of Python Data Science Tutorials - Ujjwal Karn.
Videos
- SciPy 2021: Scientific Computing with Python Conference - 61 YouTube videos.
- SciPy 2019: Scientific Computing with Python Conference - 102 YouTube videos.
- SciPy 2018: Scientific Computing with Python Conference - 97 YouTube videos.
- SciPy 2017: Scientific Computing with Python Conference - 91 YouTube videos.
- SciPy 2016: Scientific Computing with Python Conference - 92 YouTube videos.
- SciPy 2015: Scientific Computing with Python Conference - 116 YouTube videos.
- SciPy 2014: Scientific Computing with Python Conference - 121 YouTube videos.
- SciPy 2013: Scientific Computing with Python Conference - 33 YouTube videos.
License
To the extent possible under law, Cyrille Rossant has waived all copyright and related or neighboring rights to this work.