The Scientific Python ecosystem is a collection of open-source
scientific software packages written in Python. It is a broad and
ever-expanding set of algorithms and data structures that grew around
NumPy, SciPy, and matplotlib.
The ecosystem includes a wide variety of tools: some more specialized
to specific domains such as biological imaging or astronomy, and
others quite general for tasks such as data management and
high-performance computing.
It includes projects such as Pandas (for data analysis), NetworkX
(for graph computation), scikit-learn (for machine learning), and
scikit-image (for image processing).
NumPy, the fundamental package for
numerical computation. NumPy defines the n-dimensional array data structure,
the most common way of exchanging data within packages in the ecosystem.
SciPy,
a collection of numerical algorithms and domain-specific toolboxes,
including signal processing, optimization, statistics, and much
more.
Matplotlib, a mature and popular plotting
package that provides flexible, publication-quality 2-D and 3-D visualization.
IPython, a command-line interface to Python,
for interactively exploring code, processing data, and testing code ideas.
Jupyter Lab provides computational notebooks
that combine interactive code with descriptive text in your web
browser, useful especially for teaching and documenting research.
Joblib,
Dask, or Ray
for distributed processing with a focus on numerical data.