Browse files

Quick updates to *.txt files.

  • Loading branch information...
1 parent 0c067eb commit a870025d5e16ce712a2b2717b7092511654f083b @pearu pearu committed Jan 8, 2006
Showing with 24 additions and 370 deletions.
  1. +5 −245 DEVELOPERS.txt
  2. +11 −15 INSTALL.txt
  3. +5 −4 LATEST.txt
  4. +0 −104 PACKAGERS.txt
  5. +2 −1 README.txt
  6. +1 −1 TOCHANGE.txt
@@ -31,9 +31,6 @@ Currently SciPy consists of the following files and directories:
SciPy prerequisites, installation, testing, and troubleshooting.
- Information on how to package SciPy and related tools.
SciPy developers and contributors. Please keep it up to date!!
@@ -51,6 +48,8 @@ Currently SciPy consists of the following files and directories:
Contains SciPy and the directories of SciPy modules.
SciPy modules
@@ -67,7 +66,7 @@ follow the following conventions:
* Directory ``xxx/`` must contain
+ a file ```` that defines
- ``configuration(parent_package='',parent_path=None)`` function.
+ ``configuration(parent_package='',top_path=None)`` function.
See below for more details.
+ a file ````. See below more details.
@@ -84,252 +83,13 @@ follow the following conventions:
+ a directory ``docs/`` for documentation.
-File xxx/
-Each SciPy module file should contain a function
-``configuration(..)`` that returns a dictionary which must be usable
-as an argument to distutils setup function.
-For example, a minimal file for a pure-Python SciPy
-module xxx would be::
- def configuration(parent_package='', parent_path=None):
- package = 'xxx'
- from numpy.distutils.misc_util import default_config_dict
- config = default_config_dict(package, parent_package)
- return config
- if __name__ == '__main__':
- from numpy.distutils.core import setup
- setup(**configuration(parent_path=''))
-A SciPy module may have also a ``xxx/`` file that should contain
-one statement::
- execfile('')
-Ideally there should be no need for this file, but
-``distutils/command/`` (Python versions <=2.3) has
-```` hardcoded, so building .rpm files without the above-
-described ```` file will fail. This is only relevant when you
-wish to distribute a SciPy module separately from SciPy.
-``numpy.distutils.misc_util`` provides function
-``get_path(modulename,parent_path=None)`` that returns the directory
-of ``modulename``. In the ```` file this can be used to
-determine the local directory name as follows::
- local_path = get_path(__name__, parent_path)
-If ``parent_path`` is not ``None`` then the returned path is relative
-to parent path. This avoids longish paths.
-When the ```` script is uses ``os.path.join`` heavily
-then defining the following functions can be handy::
- def local_join(*names):
- return os.path.join(*((local_path,)+names))
- def local_glob(*names):
- return glob.glob(os.path.join(*((local_path,)+names)))
-Building sources
-Often building an extension module involves a step where sources are
-generated by, for example, by SWIG or F2PY. However, such a step
-should be carried out only when building a module and, in general,
-should be skipped when creating a distribution, for instance.
-numpy.distutils provides native support for building sources from .i
-(SWIG) and .pyf (F2PY) files. These files should be listed in the
-``sources`` list to ``Extension`` constructor and numpy.distutils
-takes care of processing these files.
-For examples, see
- numpy.distutils/tests/f2py_ext/
- numpy.distutils/tests/swig_ext/
-In addition, numpy.distutils allows building sources from whatever
-means is most suitable for you. All you need to do is to provide
-the ``sources`` list auxiliary functions with the following
- def build_sources(extension, build_dir):
- ...
- return <list of generated source files>
- def build_source(extension, build_dir):
- ...
- return <name of the generated source file>
-Here ``extension`` argument refers to the corresponding ``Extension``
-instance so that all its attributes are available to be used or to be
-changed in inside these functions. The ``build_dir`` argument is
-suggested (and highly recommended) location for saving generated
-source files. By the way, if you use ``build_dir`` as a prefix for all
-generated source files then numpy.distutils will be able to build
-source distributions that contain built sources and users will not
-have to regenerate them.
-For an example, see
- numpy.distutils/tests/swig_ext/gen_ext/
-Note that generated source files may be C or Fortran source files as
-well as Python files.
-All dependencies on auxiliary files (e.g. Python files, header files,
-etc that are used to generated sources and should not be installed)
-should be specified in ``depends`` list of the ``Extension``
-File xxx/
-SciPy and Lib/ files assume that each SciPy module
-contains a file. The following information will be looked
-from this file:
- The documentation string of the module.
- The title of the module. If not defined then the first non-empty
- line of __doc__ will be used.
- Boolean variable indicating whether the module should be installed
- as standalone or under scipy. Default value is False.
- [Support not implemented yet, may be it is YAGNI?]
- List of module names that the module depends on. The module will not
- be installed if any of the dependencies is missing. If the module
- depends on another SciPy module, say yyy, and that is not going to
- be installed standalone, then use full name, that is, ``scipy.yyy``
- instead of ``yyy``.
- List of names that should be imported to scipy name space. To import
- all symbols to scipy name space, define ``global_symbols=['*']``.
- This option is effective only when ``standalone=False``.
- Boolean variable indicating that the module should be ignored or
- not. Default value is False. Useful when the module is platform
- dependent or badly broken.
- Boolean variable indicating that importing module should be
- postponed until first attempt of its usage. Default value is False.
- This option is effective only when ``standalone=False``.
-File xxx/
-To speed up the import time as well as to minimize memory usage, scipy
-uses ppimport hooks to transparently postpone importing large modules
-that might not be used during a SciPy usage session. But in order to
-have an access to documentation of all SciPy modules, including of the
-postponed modules, the documentation string of a module (that would
-usually reside in file) should be copied also
-to file.
-So, the header a typical xxx/ file is::
- #
- # Module xxx - ...
- #
- from info import __doc__
- ...
-File xxx/tests/
-Ideally, each Python code, extension module, or a subpackage in
-``xxx/`` directory should have the corresponding ``test_<name>.py``
-file in ``xxx/tests/`` directory. This file should define classes
-derived from ``ScipyTestCase`` (or from ``unittest.TestCase``) class
-and have names starting with ``test``. The methods of these classes
-which names start with ``bench``, ``check``, or ``test``, are passed
-on to unittest machinery. In addition, the value of the first optional
-argument of these methods determine the level of the corresponding
-test. Default level is 1.
-A minimal example of a ```` file that implements tests for
-a module ``xxx.yyy`` containing a function ``zzz()``, is shown below::
- import sys
- from numpy.testing import *
- set_package_path()
- # import xxx symbols
- from xxx.yyy import zzz
- restore_path()
- set_local_path()
- # import modules that are located in the same directory as this file.
- restore_path()
- class test_zzz(ScipyTestCase):
- def check_simple(self, level=1):
- assert zzz()=='Hello from zzz'
- #...
- if __name__ == "__main__":
- ScipyTest('xxx.yyy').run()
-``ScipyTestCase`` is derived from ``unittest.TestCase`` and it
-implements additional method ``measure(self, code_str, times=1)``.
-The ``numpy.testing`` module provides also the following convenience
- assert_equal(ctual,desired,err_msg='',verbose=1)
- assert_almost_equal(actual,desired,decimal=7,err_msg='',verbose=1)
- assert_approx_equal(actual,desired,significant=7,err_msg='',verbose=1)
- assert_array_equal(x,y,err_msg='')
- assert_array_almost_equal(x,y,decimal=6,err_msg='')
- rand(*shape) # returns random array with a given shape
-``ScipyTest`` can be used for running ``tests/test_*.py`` scripts.
-For instance, to run all test scripts of the module ``xxx``, execute
-in Python:
- >>> ScipyTest('xxx').test(level=1,verbosity=1)
-or equivalently,
- >>> import xxx
- >>> ScipyTest(xxx).test(level=1,verbosity=1)
-To run only tests for ``xxx.yyy`` module, execute:
- >>> ScipyTest('xxx.yyy').test(level=1,verbosity=1)
-To take the level and verbosity parameters for tests from
-``sys.argv``, use ```` method (this is supported only
-when ``optparse`` is installed).
+For details, read:
Open issues and discussion
@@ -10,7 +10,7 @@ Building and installing SciPy
:Revision: $Revision$
:Discussions to:
for updates of this document.
.. Contents::
@@ -80,9 +80,9 @@ __
2) FFTW__ 2.1.x (see Lib/fftpack/NOTES.txt)
FFTW 3.0.x may also work, but SciPy currently has better performance
- with FFTW 2.1.x.
+ with FFTW 2.1.x on complex input.
- Debian packages: fftw2 fftw-dev
+ Debian packages: fftw2 fftw-dev fftw3 fftw3-dev
@@ -260,17 +260,14 @@ platforms (e.g. Linux x86). SciPy is not fully compatible with gcc
gcc_select 3.3
-You can specify which
-Fortran compiler to use by
+You can specify which Fortran compiler to use by using the following
+install command::
- export FC_VENDOR=<Vendor>
+ python config_fc --fcompiler=<Vendor> install
-before the install command. <Vendor> is Absoft, Sun, SGI, Intel,
-Itanium, NAG, Compaq, Digital, GNU, or VAST.
-Or use the following install command::
+To see a valid list of <Vendor> names, run::
- python build build_flib --fcompiler=<Vendor> install
+ python config_fc --help-fcompiler
IMPORTANT: It is highly recommended that all libraries that scipy uses
(e.g. blas and atlas libraries) are built with the same Fortran
@@ -397,10 +394,10 @@ If you experience problems when building/installing/testing SciPy, you
can ask help from or mailing
lists. Please include the following information in your message:
-NOTE: With recent f2py version (> you can generate
-some of the following information (items 1-5) in one command::
+NOTE: You can generate some of the following information (items 1-5,7)
+in one command::
- python -c 'from f2py2e.diagnose import run;run()'
+ python -c 'from numpy.f2py.diagnose import run; run()'
1) Platform information::
@@ -438,7 +435,6 @@ some of the following information (items 1-5) in one command::
python INSTALLDIR/numpy/distutils/
- python INSTALLDIR/numpy/distutils/command/
where INSTALLDIR is, for example, /usr/lib/python2.4/site-packages/.
@@ -1,8 +1,9 @@
-The Subversion tree for this distribution contains the latest code. It can be
-downloaded using the subversion client as
+The Subversion tree for this distribution contains the latest code.
+It can be downloaded using the subversion client as
-svn co scipy
+ svn co scipy
-which will create a directory named scipy in your current directory and fill it with the current version of scipy.
+which will create a directory named scipy in your current directory
+and fill it with the current version of scipy.
Oops, something went wrong.

0 comments on commit a870025

Please sign in to comment.