The SciPy Stack specification


The SciPy Stack Specification was developed in 2012. As of 2017, the SciPy Stack concept is obsolete given improvements in package management and distribution.

Python Distributions promoting themselves as providing the SciPy stack should meet the requirements listed below.

This specification is versioned, so it can be updated. The current version is SciPy Stack 1.0.


Distributions should include these packages in the initial installation. Second-level bullet points indicate dependencies: the versions of these should be sufficient for the packages that require them.

  • Python (2.x >= 2.6 or 3.x >= 3.2)
  • NumPy (>= 1.6)
  • SciPy library (>= 0.10)
  • Matplotlib (>= 1.1)
    • dateutil
    • pytz
    • Support for at least one backend
  • IPython (>= 0.13)
    • pyzmq
    • tornado
  • pandas (>= 0.8)
  • Sympy (>= 0.7)
  • nose (>= 1.1)

Other requirements

After installation, entering ipython in a terminal/command prompt should start IPython, and it should be possible to import any of the packages specified above. Distributions are welcome to also provide other shortcuts, menu entries, and interfaces such as IDEs.

The user should be able to install arbitrary extra Python packages into the distribution.