Skip to content
This repository

Scipy library main repository

Fetching latest commit…

Cannot retrieve the latest commit at this time

tools REL: set version to 0.11.0rc1
.gitattributes MAINT: mark stats/_rank.c as binary
.gitignore ENH: add Dag Sverre's cythonize command
BENTO_BUILD.txt DOC: add small readme for bento build.
HACKING.rst.txt DOC: fix URL of MAINTAINERS.rst.txt in HACKING.rst.txt
INSTALL.txt DOC: raise minimum NumPy version to 1.5.0
LATEST.txt DOC: update instructions to Git in LATEST.txt
LICENSE.txt MAINT: update license text. BLD: Fix Bento build of source distribution
README.txt DOC: Update stale numpy distutils doc url.
TEST_COMMIT TEST: test commit, kicking git mirror
THANKS.txt DOC: add new interpolate classes (SphereBivariateSpline) to release n…
TOCHANGE.txt Update Trac URLs. ENH: add ndimage to bento build.
bscript REF: move f2py into bento itself. ENH: make f2py feature explicit + add support for f2py wo .pyf mode. REL: forward port changes to release scripts from 0.10.x branch. Add, for easy setuptools use. Add setupeggscons script, to use scons build under setuptools. ENH: Add Git revision hint to version information for dev versions ENH: add a setupsconsegg script, to build egg binaries with numscons.
site.cfg.example Remove mentions of FFTW and DJBFFT from site.cfg.example -- those are…
Developing SciPy

.. Contents::

What is SciPy?

SciPy (pronounced "Sigh Pie") is open-source software for mathematics,
science, and engineering.  It includes modules for statistics, optimization,
integration, linear algebra, Fourier transforms, signal and image processing,
ODE solvers, and more.  It is also the name of a very popular conference on
scientific programming with Python.

The SciPy library depends on NumPy, which provides convenient and fast
N-dimensional array manipulation. The SciPy library is built to work with
NumPy arrays, and provides many user-friendly and efficient numerical routines
such as routines for numerical integration and optimization. Together, they
run on all popular operating systems, are quick to install, and are free of
charge. NumPy and SciPy are easy to use, but powerful enough to be depended
upon by some of the world's leading scientists and engineers. If you need to
manipulate numbers on a computer and display or publish the results, give
SciPy a try!

SciPy structure

SciPy aims at being a robust and efficient "super-package" of a number
of modules, each of a non-trivial size and complexity.  In order for
"SciPy integration" to work flawlessly, all SciPy modules must follow
certain rules that are described in this document. Hopefully this
document will be helpful for SciPy contributors and developers as a
basic reference about the structure of the SciPy package.

Currently SciPy consists of the following files and directories:

    SciPy prerequisites, installation, testing, and troubleshooting.

    SciPy developers and contributors. Please keep it up to date!!

    SciPy structure (this document).
    Script for building and installing SciPy.
    Additions to distutils-generated SciPy tar-balls.  Its usage is

    Contains SciPy and the directories of SciPy modules.

SciPy modules

In the following, a *SciPy module* is defined as a Python package, say
xxx, that is located in the scipy/ directory.  All SciPy modules should
follow the following conventions:

* Ideally, each SciPy module should be as self-contained as possible.
  That is, it should have minimal dependencies on other packages or
  modules.  Even dependencies on other SciPy modules should be kept to a
  minimum.  A dependency on NumPy is of course assumed.

* Directory ``xxx/`` must contain 

  + a file ```` that defines
    ``configuration(parent_package='',top_path=None)`` function.  
    See below for more details.

  + a file ````. See below more details.

* Directory ``xxx/`` may contain 

  + a directory ``tests/`` that contains files ``test_<name>.py``
    corresponding to modules ``xxx/<name>{.py,.so,/}``.  See below for
    more details.

  + a file ```` that may contain only ``include`` line.
    DO NOT specify sources in, you must specify all sources
    in file. Otherwise released SciPy tarballs will miss these sources.

  + a directory ``docs/`` for documentation.

For details, read:


The documentation site is here

Web sites

The user's site is here

The developer's site is here

Mailing Lists

Please see the developer's list here

Bug reports

To search for bugs, please use the NIPY Bug Tracker at

To report a bug, please use the NIPY Bug Tracker at

License information

See the file "LICENSE" for information on the history of this
software, terms & conditions for usage, and a DISCLAIMER OF ALL

Something went wrong with that request. Please try again.