~vcs-imports/scipy/trunk

1 by josef
use np.power in rdist (test commit with bzr)
1
=================================================
2
Developing SciPy
3
=================================================
4
5
.. Contents::
6
7
8
What is SciPy?
9
--------------
10
11
SciPy (pronounced "Sigh Pie") is open-source software for mathematics,
12
science, and engineering.  It includes modules for statistics, optimization,
13
integration, linear algebra, Fourier transforms, signal and image processing,
14
ODE solvers, and more.  It is also the name of a very popular conference on
15
scientific programming with Python.
16
17
The SciPy library depends on NumPy, which provides convenient and fast
18
N-dimensional array manipulation. The SciPy library is built to work with
19
NumPy arrays, and provides many user-friendly and efficient numerical routines
20
such as routines for numerical integration and optimization. Together, they
21
run on all popular operating systems, are quick to install, and are free of
22
charge. NumPy and SciPy are easy to use, but powerful enough to be depended
23
upon by some of the world's leading scientists and engineers. If you need to
24
manipulate numbers on a computer and display or publish the results, give
25
SciPy a try!
26
27
28
SciPy structure
29
---------------
30
31
SciPy aims at being a robust and efficient "super-package" of a number
32
of modules, each of a non-trivial size and complexity.  In order for
33
"SciPy integration" to work flawlessly, all SciPy modules must follow
34
certain rules that are described in this document. Hopefully this
35
document will be helpful for SciPy contributors and developers as a
36
basic reference about the structure of the SciPy package.
37
38
Currently SciPy consists of the following files and directories:
39
40
  INSTALL.txt
41
    SciPy prerequisites, installation, testing, and troubleshooting.
42
43
  THANKS.txt
44
    SciPy developers and contributors. Please keep it up to date!!
45
46
  README.txt
47
    SciPy structure (this document).
48
49
  setup.py
50
    Script for building and installing SciPy.
51
52
  MANIFEST.in
53
    Additions to distutils-generated SciPy tar-balls.  Its usage is
54
    deprecated.
55
56
  scipy/
57
    Contains SciPy __init__.py and the directories of SciPy modules.
58
59
SciPy modules
60
+++++++++++++
61
62
In the following, a *SciPy module* is defined as a Python package, say
63
xxx, that is located in the scipy/ directory.  All SciPy modules should
64
follow the following conventions:
65
66
* Ideally, each SciPy module should be as self-contained as possible.
67
  That is, it should have minimal dependencies on other packages or
68
  modules.  Even dependencies on other SciPy modules should be kept to a
69
  minimum.  A dependency on NumPy is of course assumed.
70
71
* Directory ``xxx/`` must contain 
72
73
  + a file ``setup.py`` that defines
74
    ``configuration(parent_package='',top_path=None)`` function.  
75
    See below for more details.
76
77
  + a file ``info.py``. See below more details.
78
79
* Directory ``xxx/`` may contain 
80
81
  + a directory ``tests/`` that contains files ``test_<name>.py``
82
    corresponding to modules ``xxx/<name>{.py,.so,/}``.  See below for
83
    more details.
84
85
  + a file ``MANIFEST.in`` that may contain only ``include setup.py`` line.
86
    DO NOT specify sources in MANIFEST.in, you must specify all sources
87
    in setup.py file. Otherwise released SciPy tarballs will miss these sources.
88
89
  + a directory ``docs/`` for documentation.
90
91
For details, read:
92
93
  http://projects.scipy.org/numpy/wiki/DistutilsDoc
94
95
96
Documentation
97
-------------
98
99
The documentation site is here
100
    http://docs.scipy.org
101
102
Web sites
103
---------
104
105
The user's site is here
106
    http://www.scipy.org/
107
108
The developer's site is here
109
    http://projects.scipy.org/scipy/wiki
110
111
112
Mailing Lists
113
-------------
114
115
Please see the developer's list here
116
    http://projects.scipy.org/mailman/listinfo/scipy-dev
117
118
119
Bug reports
120
-----------
121
122
To search for bugs, please use the NIPY Bug Tracker at
123
    http://projects.scipy.org/scipy/query
124
125
To report a bug, please use the NIPY Bug Tracker at
126
    http://projects.scipy.org/scipy/newticket
127
128
129
License information
130
-------------------
131
132
See the file "LICENSE" for information on the history of this
133
software, terms & conditions for usage, and a DISCLAIMER OF ALL
134
WARRANTIES.
135