# Python Packages by Domain Stack
https://github.com/Quansight/scipy-2022-swag
### Astronomy
Scientific Python libraries for analyzing celestial bodies.
- Astropy: Common core package for Astronomy in Python.
GitHub: https://github.com/astropy/astropy
Website: https://www.astropy.org
- Poliastro: Interactive Astrodynamics and Orbital Mechanics, with a focus on ease of use, speed, and quick visualization.
GitHub: https://github.com/poliastro/poliastro
Website: https://docs.poliastro.space/en/stable/
- SunPy: A community-developed, free and open-source solar data analysis environment.
GitHub: https://github.com/sunpy/sunpy
Website: https://sunpy.org
- SkyPy: Package for simulating the astrophysical sky.
GitHub: https://github.com/skypyproject/skypy
Website: https://skypy.readthedocs.io/en/stable/
### Neuroscience
- DiPy: Analysis of 3D/4D+ medical images
GitHub: https://github.com/dipy/dipy
Website: https://dipy.org/
- MNE-Python: Analysis of human neurophysiological data
GitHub: https://github.com/mne-tools/mne-python
Website: https://mne.tools/
- Nibabel: Neuroimaging file format wrangling
GitHub: https://github.com/nipy/nibabel
Website: https://nipy.org/nibabel/
- Nilearn: Analysis of MRI brain volumes
GitHub: https://github.com/nilearn/nilearn
Website: https://nilearn.github.io
- Nipype: Neuroimaging pipelines and interfaces
GitHub: https://github.com/nipy/nipype
Website: https://nipype.readthedocs.io/en/latest/index.html
- PySurfer: Cortical surface visualization
GitHub: https://github.com/nipy/PySurfer
Website: https://pysurfer.github.io/
### Computer Vision
- scikit-image: A collection of algorithms for image processing.
GitHub: https://github.com/scikit-image/scikit-image
Website: https://scikit-image.org
- scikit-video: Tools for measurement and processing of videos.
GitHub: https://github.com/scikit-video/scikit-video
Website: http://www.scikit-video.org/
### Packaging
Scientific Python tools for packaging.
- conda-forge: A community-led collection of recipes, build infrastructure and distributions for the conda package manager.
GitHub: https://github.com/conda-forge
Website: https://conda-forge.org
- conda: Package, dependency and environment management for any language.
GitHub: https://github.com/conda/conda
Website: https://docs.conda.io/en/latest/
- scikit-build: The official adaptor for CMake in Python packaging to build binary extensions, along with Python packages for CMake, Ninja, and other tooling.
GitHub: https://github.com/scikit-build
Website: https://scikit-build.org
- cibuildwheel: The PyPA tool for building binary wheels for all supported platforms.
GitHub: https://github.com/pypa/cibuildwheel
Website: https://cibuildwheel.readthedocs.io
### Performance
Scientific Python packages for improving performance when coding in Python
- Dask: A library that allows parallelism for analytics and performance at scale.
GitHub: https://github.com/dask/dask
Website: https://www.dask.org
- Cython: An optimizing static compiler. It makes writing C extensions as easy as Python itself.
GitHub: https://github.com/cython/cython
Website: https://cython.org
- Numba: JIT compiler that translates a subset of Python and NumPy code into fast
machine code.
GitHub: https://github.com/numba/numba
Website: https://numba.pydata.org
- CuPy: Array Library compatible with NumPy and SciPy for GPU-accelerated Computing with Python
GitHub: https://github.com/cupy/cupy
Website: https://cupy.dev
- pybind11: A C++ API for CPython/PyPy.
GitHub: https://github.com/pybind/pybind11
Website: https://pybind11.readthedocs.io
### Visualization
Scientific Python libraries for visualization
- matplotlib: Library for creating static, animated, and interactive visualizations.
GitHub: https://github.com/matplotlib/matplotlib
Website: https://matplotlib.org
- bokeh: A library for creating interactive visualizations for modern web browsers.
GitHub: https://github.com/bokeh/bokeh
Website: https://bokeh.org
- napari: A multi-dimensional image viewer for Python.
GitHub: https://github.com/napari/napari
Website: https://napari.org/stable/
- holoviz: A set of high-level tools to simplify visualization in Python.
GitHub: https://github.com/holoviz/holoviz
Website: https://holoviz.org
### Support
Scientific Python organizations that provide support to open source Python projects
- NumFocus: Non-profit organization that promotes open practices in research, data, and scientific computing.
GitHub: https://github.com/numfocus/numfocus
Website: https://numfocus.orgs
- SciPy: Annual Scientific Computing with Python conference.
GitHub: https://github.com/scipy-conference
Website: https://www.scipy2022.scipy.org
- OpenTeams: A Network of Enterprise Solution Architects using open Source talent to build and maintain your softwaresolutions.
GitHub:
Website: https://www.openteams.coms
- Scientific Python: A community effort to better coordinate the Scientific Python ecosystem and grow the community.
GitHub: https://github.com/scientific-python/scientific-python.org
Website: https://scientific-python.org
### IDE
Scientific Python packages that contain developer tools.
- IPython: A command-line interface to Python, for interactive computing with an interactive shell and a kernel for Jupyter.
GitHub: https://github.com/ipython/ipython
Website: https://ipython.orgj
- Jupyter: A set of web services for interactive computing across all programming languages.
GitHub: https://github.com/jupyter/jupyter
Website: https://jupyter.org
- Spyder: A Scientific Python Developement Environment.
GitHub: https://github.com/spyder-ide/spyder
Website: https://www.spyder-ide.org
### Mathematics
Scientific Python libraries with math tools.
- sympy: Library for symbolic mathematics.
GitHub: https://github.com/sympy/sympy
Website: https://www.sympy.org/en/index.html
- scipy: Collection of fundamental algorithms for scientific computing in Python
GitHub: https://github.com/scipy/scipy
Website: https://scipy.org
- mathjax: A JavaScript display engine for mathematics that works in all browsers.
GitHub: https://github.com/mathjax/MathJax
Website: https://www.mathjax.org
### Array and data format packages
Scientific Python packages that make it easier to build and work in arrays.
- numpy: Fundamental package for numerical computation. It defines the n-dimensional array data structure, the most common way of exchanging data within packages in the ecosystem.
GitHub: https://github.com/numpy/numpy
Website: https://numpy.orgz
- zarr: A library and a format for chunked, compressed and N-dimensional arrays storage.
GitHub: https://github.com/zarr-developers/zarr-python
Website: https://zarr.dev/
- xarray: A package that makes working with labeled multi-dimensional arrays simple, efficient, and fun.
GitHub: https://github.com/pydata/xarray
Website: https://docs.xarray.dev/en/stable/n
- Awkward Array: Manipulate JSON-like data with NumPy-like idioms.
GitHub: https://github.com/scikit-hep/awkward
Website: https://awkward-array.org
### Data representation and analysis
- NetworkX: A package for the creation, manipulation, and study of complex networks.
GitHub: https://github.com/networkx/networkx
Website: https://networkx.org
### Machine and Deep Learning
Scientific Python packages for machine and deep learning.
- scikit-learn: A set of simple and efficient tools for predictive data analysis.
GitHub: https://github.com/scikit-learn/scikit-learn
Website: https://scikit-learn.org/stable/p
- PyTorch Ignite: High-level library to help with training and evaluating neural networks in PyTorch flexibly and transparently.
GitHub: https://github.com/pytorch/ignite
Website: https://pytorch.org/ignite/index.html
- Tensorflow: An Open Source Machine Learning Framework for Everyone
Github: https://github.com/tensorflow/tensorflow
Website: https://www.tensorflow.org/
### Dataframes
Scientific Python libraries for working with DataFrames.
- Pandas: A package that provides fast, powerful, flexible, and easy to use data analysis and manipulation.
GitHub: https://github.com/pandas-dev/pandas
Website: https://pandas.pydata.org
- GeoPandas: An open source project to make working with geospatial data in Python easier.
GitHub: https://github.com/geopandas/geopandas
Website: https://geopandas.org/en/stable/p
- Pandera: A Statistical Data Testing Toolkit that provides a flexible API for performing data validation on dataframes.
GitHub: https://github.com/pandera-dev/pytest-pandera
Website: https://pandera.readthedocs.io/en/stable/
### Testing
Scientific Python tools for writing tests.
- Pytest: A mature full-featured Python testing tool that helps you write better programs
GitHub: https://github.com/pytest-dev/pytest
Website: https://docs.pytest.org
- Hypothesis: A library for creating unit tests which are simpler to write and more powerful
GitHub: https://github.com/HypothesisWorks/hypothesis
Website: https://hypothesis.readthedocs.io/en/latest/
- Ghostwriter: A command-line interface which can write property-based tests for you.
GitHub: https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python/tests/ghostwriter
Website: https://hypothesis.readthedocs.io/en/latest/ghostwriter.html
### Communities
Communities around specific disiplines.
- scikit-hep:A community project from High Energy Physics building tools useful in HEP and beyond.
GitHub: https://github.com/scikit-hep
Website: https://scikit-hep.org
- pangeo: A community platform for Big Data geoscience
GitHub: https://github.com/pangeo-data/pangeo
Website: https://pangeo.io