{"id":39887,"url":"https://github.com/rossant/awesome-scientific-python","name":"awesome-scientific-python","description":"A curated list of awesome scientific Python resources","projects_count":131,"last_synced_at":"2026-05-21T09:00:43.141Z","repository":{"id":34971869,"uuid":"144892637","full_name":"rossant/awesome-scientific-python","owner":"rossant","description":"A curated list of awesome scientific Python resources","archived":false,"fork":false,"pushed_at":"2024-08-31T09:53:07.000Z","size":92,"stargazers_count":335,"open_issues_count":3,"forks_count":75,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-04-03T16:24:14.961Z","etag":null,"topics":["awesome","awesome-list","data-analysis","data-science","data-visualization","list","python","science","scientific-computing","scientific-visualization"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rossant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-08-15T19:05:00.000Z","updated_at":"2026-04-02T12:57:24.000Z","dependencies_parsed_at":"2024-05-31T19:44:33.155Z","dependency_job_id":"5aa23b3e-70b2-44ef-99e1-70ae5cabca6e","html_url":"https://github.com/rossant/awesome-scientific-python","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rossant/awesome-scientific-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossant%2Fawesome-scientific-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossant%2Fawesome-scientific-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossant%2Fawesome-scientific-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossant%2Fawesome-scientific-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rossant","download_url":"https://codeload.github.com/rossant/awesome-scientific-python/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossant%2Fawesome-scientific-python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31976805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T16:27:12.723Z","status":"ssl_error","status_checked_at":"2026-04-18T16:27:11.140Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-13T18:23:37.930Z","updated_at":"2026-05-21T09:00:43.141Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["Lists of libraries","Other scientific libraries","Core libraries","Domain-specific libraries"],"sub_categories":["Mathematics","Image processing","matplotlib","SciPy","Neural networks","Data visualization","pandas","3D visualization","Compilation","Bioinformatics","SymPy","Molecular simulations","Graphs","IPython/Jupyter","Astrophysics","NumPy","Statistics","Parallel computing","GPU computing","Geospatial data","Neuroimaging","Neuroscience","scikit-learn"],"readme":"# Awesome Scientific Python [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\nA curated list of awesome scientific Python resources.\n\n# Contents\n\n\u003c!-- START_TOC --\u003e\n\n* [Contents](#contents)\n* [Libraries](#libraries)\n    * [Core libraries](#core-libraries)\n        * [IPython/Jupyter](#ipythonjupyter)\n        * [NumPy](#numpy)\n        * [SciPy](#scipy)\n        * [pandas](#pandas)\n        * [scikit-learn](#scikit-learn)\n        * [matplotlib](#matplotlib)\n        * [SymPy](#sympy)\n    * [Other scientific libraries](#other-scientific-libraries)\n        * [Data visualization](#data-visualization)\n        * [3D visualization](#3d-visualization)\n        * [Image processing](#image-processing)\n        * [Graphs](#graphs)\n        * [Neural networks](#neural-networks)\n        * [Statistics](#statistics)\n        * [Compilation](#compilation)\n        * [Parallel computing](#parallel-computing)\n        * [GPU computing](#gpu-computing)\n    * [Domain-specific libraries](#domain-specific-libraries)\n        * [Geospatial data](#geospatial-data)\n        * [Astrophysics](#astrophysics)\n        * [Molecular simulations](#molecular-simulations)\n        * [Bioinformatics](#bioinformatics)\n        * [Neuroimaging](#neuroimaging)\n        * [Neuroscience](#neuroscience)\n        * [Mathematics](#mathematics)\n    * [Lists of libraries](#lists-of-libraries)\n* [Books](#books)\n* [Courses](#courses)\n* [Tutorials](#tutorials)\n* [Videos](#videos)\n* [License](#license)\n\n\u003c!-- END_TOC --\u003e\n\n\n# Libraries\n\n## Core libraries\n\n### IPython/Jupyter\n\n*Effective interactive computing, data analysis, and visualization.*\n\n* [IPython](http://ipython.org/) - Interactive Python computing in the terminal.\n* [Jupyter](http://jupyter.org/) - Open interactive computing in many programming languages.\n* [Jupyter Notebook](http://jupyter.org/install) - Web-based environment for interactive computing.\n* [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/) - Next-generation web-based interactive programming and computing environment.\n\n### NumPy\n\n*Multidimensional array computing.*\n\n* [NumPy](http://www.numpy.org/)\n* [NumPy documentation](https://docs.scipy.org/doc/numpy/reference/routines.html)\n* [NumPy tutorial](https://docs.scipy.org/doc/numpy/user/quickstart.html)\n* [NumPy for MATLAB users](https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html)\n\n### SciPy\n\n*Numerical computing library.*\n\n* [SciPy](https://scipy.org/)\n* [Getting started with SciPy](https://scipy.org/getting-started.html)\n* [SciPy documentation](https://docs.scipy.org/doc/scipy/reference/)\n\n### pandas\n\n*Data analysis library.*\n\n* [pandas](https://pandas.pydata.org/)\n* [pandas documentation](http://pandas.pydata.org/pandas-docs/stable/)\n\n### scikit-learn\n\n*Machine learning library.*\n\n* [scikit-learn](http://scikit-learn.org/stable/)\n* [scikit-learn tutorial](http://scikit-learn.org/stable/tutorial/basic/tutorial.html)\n* [scikit-learn user guide](http://scikit-learn.org/stable/user_guide.html)\n\n### matplotlib\n\n*Data visualization and graphics library.*\n\n* [matplotlib](https://matplotlib.org/)\n* [matplotlib gallery](https://matplotlib.org/gallery/index.html)\n* [matplotlib tutorials](https://matplotlib.org/tutorials/index.html)\n* [matplotlib documentation](https://matplotlib.org/contents.html)\n\n### SymPy\n\n*Symbolic computing library.*\n\n* [SymPy](https://www.sympy.org/)\n* [SymPy tutorial](http://docs.sympy.org/latest/tutorial/index.html)\n* [SymPy documentation](http://docs.sympy.org/latest/index.html)\n\n\n## Other scientific libraries\n\n### Data visualization\n\n* [Bokeh](https://bokeh.pydata.org/en/latest/) - Interactive visualization for the web.\n* [Altair](https://altair-viz.github.io/) - Declarative visualization in Python.\n* [seaborn](https://seaborn.pydata.org/) - Statistical data visualization.\n* [bqplot](https://github.com/bloomberg/bqplot) - 2D interactive visualization in Jupyter.\n* [plotnine](https://plotnine.readthedocs.io/) - Grammar of Graphics implementation in Python based on ggplot2.\n* [plotly](https://plot.ly/python/) - Interactive data visualization on the web.\n* [HoloViews](http://holoviews.org/) - Data visualization library.\n* [Napari](https://github.com/napari/napari) - Multi-dimensional image viewer for python.\n\n### 3D visualization\n\n* [ipyvolume](https://ipyvolume.readthedocs.io/en/latest/) - 3D visualization with Jupyter.\n* [VisPy](http://vispy.org/) - Interactive GPU-accelerated visualization.\n* [Glumpy](http://glumpy.github.io/) - Scientific visualization in modern OpenGL.\n* [vedo](https://vedo.embl.es/) - Scientific analysis and visualization based on VTK.\n* [PyVista](https://docs.pyvista.org/) - 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK).\n* [Datoviz](https://datoviz.org/) - 2D/3D high-performance GPU visualization with Vulkan.\n\n### Image processing\n\n* [scikit-image](https://scikit-image.org/) - Image processing in Python.\n* [Pillow](https://pillow.readthedocs.io/en/latest/) - Python Imaging Library (PIL) fork in Python.\n* [OpenCV](https://opencv.org/) - Computer vision library.\n\n### Graphs\n\n* [NetworkX](https://networkx.github.io/) - Graph and network structures and algorithms.\n* [Graph-tool](https://graph-tool.skewed.de/) - Manipulation and statistical analysis of graphs.\n\n### Neural networks\n\n* [PyTorch](https://pytorch.org/) - Neural networks and deep learning in Python.\n* [Keras](https://keras.io/) - Python deep learning library.\n* [TensorFlow](https://www.tensorflow.org/) - Machine learning framework.\n* [Caffe](http://caffe.berkeleyvision.org/) - Deep learning framework.\n\n### Statistics\n\n* [PyMC3](http://docs.pymc.io/) - Bayesian statistical modeling.\n* [statsmodels](http://www.statsmodels.org/) - Statistical models.\n* [emcee](http://dfm.io/emcee/) - ensemble sampler for markov chain monte carlo.\n\n### Compilation\n\n* [Numba](https://numba.pydata.org/) - JIT compilation of Python code\n* [Cython](http://cython.org/) - Combine C and Python\n\n### Parallel computing\n\n* [ipyparallel](https://ipyparallel.readthedocs.io/en/latest/) - Parallel computing with IPython\n* [Dask](https://github.com/dask/dask) - Parallel computing with task scheduling.\n\n### GPU computing\n\n* [CuPy](https://cupy.chainer.org/) - NumPy-like library with CUDA.\n* [PyCUDA](https://developer.nvidia.com/pycuda) - Use CUDA with Python.\n\n\n## Domain-specific libraries\n\n### Geospatial data\n\n* [GeoPandas](https://geopandas.readthedocs.io/en/latest/) - pandas for geospatial data.\n* [Shapely](https://github.com/Toblerity/Shapely) - Manipulation and analysis of geometric objects.\n* [Folium](http://python-visualization.github.io/folium/) - Interactive maps in Python with leaflet.js.\n\n### Astrophysics\n\n* [Astropy](http://www.astropy.org/) - Core package for astronomy.\n* [AstroML](http://www.astroml.org/) - Machine learning for astronomy\n\n### Molecular simulations\n\n* [MGLTools](http://mgltools.scripps.edu/) - Visualization and analysis of molecular structures.\n* [MDAnalysis](https://www.mdanalysis.org/) - Molecular dynamics simulations\n* [pysimm](https://pysimm.org/) - Molecular simulations\n* [PyMOL](https://pymol.org/2/) - Molecular visualization\n* [Molecular Modeling Toolkit](https://bitbucket.org/khinsen/mmtk)\n\n### Bioinformatics\n\n* [Biopython](https://biopython.org/) - Biological computations.\n* [PyBioMed](https://pybiomed.readthedocs.io/en/latest/index.html) - Descriptors of biological molecules.\n* [khmer](https://github.com/dib-lab/khmer) - k-mer counting, filtering, and graph traversal.\n\n### Neuroimaging\n\n* [NiBabel](https://github.com/nipy/nibabel) - Neuro-imaging file formats.\n* [Nilearn](https://nilearn.github.io/) - Machine learning for neuro-imaging.\n* [NiTime](http://nipy.org/nitime/) - Time series.\n* [MNE](https://github.com/mne-tools/mne-python) - MEG and EEG.\n* [DIPY](https://github.com/nipy/dipy) - Diffusion MR imaging.\n* [Expyriment](https://github.com/expyriment/expyriment) - Behavioral and neuroimaging experiments.\n\n### Neuroscience\n\n* [Brian2](https://github.com/brian-team/brian2) - Simulations of spiking neural networks.\n* [Spyking Circus](https://spyking-circus.readthedocs.io/en/latest/) - Spike sorting on large extracellular recordings.\n* [Klusta](https://github.com/kwikteam/klusta) - Spike detection and clustering-based spike sorting.\n* [phy](https://phy.readthedocs.io/en/latest/) - Manual spike sorting for high-density multielectrode arrays.\n* [NeuroTools](https://pythonhosted.org/NeuroTools/) - Tools for neural simulations.\n* [Neo](https://neo.readthedocs.io) - File formats for neuroscience.\n* [PsychoPy](http://psychopy.org/) - Psychology and neuroscience experiments.\n* [Nengo](https://github.com/nengo/nengo) - Simulation of large-scale brain models\n* [PyGaze](http://www.pygaze.org/) - Eye tracking.\n\n### Mathematics\n\n* [Sage](http://www.sagemath.org) - Mathematics software system.\n* [mpmath](http://mpmath.org/) - arithmetic with arbitrary precision.\n\n\n## Lists of libraries\n\n* [Python Numeric and Scientific](https://wiki.python.org/moin/NumericAndScientific) - on python.org.\n* [Scientific Computing Tools for Python](https://www.scipy.org/about.html) - on scipy.org.\n* [Useful libraries for data science in Python](https://github.com/rasbt/pattern_classification/blob/master/resources/python_data_libraries.md) - by Sebastian Raschka.\n* [Python for Scientific Audio](https://github.com/faroit/awesome-python-scientific-audio) - by Fabian-Robert Stöter.\n\n# Books\n\n* [Python Data Science Handbook](https://jakevdp.github.io/PythonDataScienceHandbook/) - Jake VanderPlas, O'Reilly, 2016, 541 pages.\n* [Python for Data Analysis](http://shop.oreilly.com/product/0636920050896.do) - William McKinney, O'Reilly, 2017, 544 pages (second edition).\n* [Learning IPython for Interactive Computing and Data Analysis](https://www.packtpub.com/big-data-and-business-intelligence/learning-ipython-interactive-computing-and-data-visualization-sec), Cyrille Rossant, Packt Publishing, 2015, 200 pages (second edition).\n* [IPython Interactive Computing and Visualization Cookbook](https://www.packtpub.com/big-data-and-business-intelligence/ipython-interactive-computing-and-visualization-cookbook-second-e), Cyrille Rossant, Packt Publishing, 2018, 548 pages (second edition).\n* [A Primer on Scientific Programming with Python](https://www.springer.com/gp/book/9783642549595) - Hans Petter Langtangen, Springer, 2014, 872 pages.\n* [Exploring Data with Python](https://www.manning.com/books/exploring-data-with-python) - Naomi Ceder, Manning 2018, 110 pages.\n* [Deep Learning with Python](https://www.manning.com/books/deep-learning-with-python) - François Chollet, Manning, 2017, 384 pages.\n* [Python Machine Learning](https://www.packtpub.com/big-data-and-business-intelligence/python-machine-learning-second-edition) - Sebastian Raschka \u0026 Vahid Mirjalili, Packt Publishing, 2017, 622 pages (second edition).\n\n# Courses\n\n* [Stat 159/259, Reproducible and Collaborative Data Science](https://berkeley-stat159-f17.github.io/stat159-f17/index.html) - Fernando Perez, Berkeley University, 2017.\n* [CME 193, Introduction to Scientific Python](https://web.stanford.edu/~schmit/cme193/) - Stanford University, Sven Schmit, 2015.\n* [Using Python for Research](https://online-learning.harvard.edu/course/using-python-research) - Jukka-Pekka Onnela, Harvard University Online Learning.\n* [Introduction to Data Analytics and Machine Learning with Python](https://www.city.ac.uk/courses/short-courses/introduction-to-data-analysis-and-machine-learning-with-python) - University of London.\n* [PHY 546: Python for Scientific Computing](http://bender.astro.sunysb.edu/classes/python-science/) - Stony Brook University, Michael Zingale, 2018.\n* [Python for Data Analysis](https://github.com/cuttlefishh/python-for-data-analysis) - Luke Thompson, NOAA.\n* [Coursera Data Science with Python](https://www.coursera.org/specializations/data-science-python) - University of Michigan.\n* [edX Python for Data Science](https://www.edx.org/course/python-for-data-science) - UC San Diego, Ilkay Altintas, Leo Porter.\n* [edX Foundations of Data Science: Computational Thinking with Python](https://www.edx.org/course/foundations-data-science-computational-uc-berkeleyx-data8-1x) - UC Berkeley, Ani Adhikari, John DeNero, David Wagner.\n* [Python Course](https://www.python-course.eu/index.php) - Bernd Klein.\n* [Intro to Python for Data Science](https://www.datacamp.com/courses/intro-to-python-for-data-science) - DataCamp, Filip Schouwenaars.\n* [Schools using Python](https://wiki.python.org/moin/SchoolsUsingPython) - on python.org.\n* [Python NumPy for Data Science](https://programiz.pro/course/python-numpy-for-data-science) - by Programiz PRO.\n\n# Tutorials\n\n* [SciPy Lecture Notes](https://www.scipy-lectures.org/)\n* [Lectures on scientific computing with Python](https://github.com/jrjohansson/scientific-python-lectures) - Robert Johansson.\n* [NumPy Illustrated - The Visual Guide to NumPy](https://betterprogramming.pub/numpy-illustrated-the-visual-guide-to-numpy-3b1d4976de1d?sk=57b908a77aa44075a49293fa1631dd9b) - Lev Maximov.\n* [Python NumPy tutorial](http://cs231n.github.io/python-numpy-tutorial/) - Justin Johnson, Stanford University.\n* [Real Python Python Data Science Tutorials](https://realpython.com/tutorials/data-science/)\n* [A gallery of interesting Jupyter Notebooks](https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks)\n* [List of Python Data Science Tutorials](https://github.com/ujjwalkarn/DataSciencePython) - Ujjwal Karn.\n* [pyOpenSci Python Package Guide](https://www.pyopensci.org/python-package-guide/)\n\n# Videos\n\n\n* [SciPy 2024: Scientific Computing with Python Conference](https://youtube.com/playlist?list=PL1PbeFStIOoO7rDLs431H-rn0h24Wr80S) - 60 YouTube videos.\n* [SciPy 2023: Scientific Computing with Python Conference](https://youtube.com/playlist?list=PL1PbeFStIOoOd01KhBeba-byU5E5dJ716) - 59 YouTube videos.\n* [SciPy 2022: Scientific Computing with Python Conference](https://youtube.com/playlist?list=PLYx7XA2nY5Ge3LsWy500pi5bdHEiAdQB5) - 10 YouTube videos.\n* [SciPy 2021: Scientific Computing with Python Conference](https://www.youtube.com/playlist?list=PLYx7XA2nY5GesARqNMImG3NnX3_bWq-lT) - 61 YouTube videos.\n* [SciPy 2019: Scientific Computing with Python Conference](https://www.youtube.com/playlist?list=PLYx7XA2nY5GcDQblpQ_M1V3PQPoLWiDAC) - 102 YouTube videos.\n* [SciPy 2018: Scientific Computing with Python Conference](https://www.youtube.com/playlist?list=PLYx7XA2nY5Gd-tNhm79CNMe_qvi35PgUR) - 97 YouTube videos.\n* [SciPy 2017: Scientific Computing with Python Conference](https://www.youtube.com/playlist?list=PLYx7XA2nY5GfdAFycPLBdUDOUtdQIVoMf) - 91 YouTube videos.\n* [SciPy 2016: Scientific Computing with Python Conference](https://www.youtube.com/playlist?list=PLYx7XA2nY5Gf37zYZMw6OqGFRPjB1jCy6) - 92 YouTube videos.\n* [SciPy 2015: Scientific Computing with Python Conference](https://www.youtube.com/playlist?list=PLYx7XA2nY5Gcpabmu61kKcToLz0FapmHu) - 116 YouTube videos.\n* [SciPy 2014: Scientific Computing with Python Conference](https://www.youtube.com/playlist?list=PLYx7XA2nY5GfuhCvStxgbynFNrxr3VFog) - 121 YouTube videos.\n* [SciPy 2013: Scientific Computing with Python Conference](https://www.youtube.com/playlist?list=PLYx7XA2nY5GeTWcUQTbXVdllyp-Ie3r-y) - 33 YouTube videos.\n\n# License\n\n[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/)\n\nTo the extent possible under law, [Cyrille Rossant](http://cyrille.rossant.net) has waived all copyright and related or neighboring rights to this work.\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/rossant%2Fawesome-scientific-python/projects"}