Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Quick updates to *.txt files.

  • Loading branch information...
commit a870025d5e16ce712a2b2717b7092511654f083b 1 parent 0c067eb
@pearu pearu authored
View
250 DEVELOPERS.txt
@@ -31,9 +31,6 @@ Currently SciPy consists of the following files and directories:
INSTALL.txt
SciPy prerequisites, installation, testing, and troubleshooting.
- PACKAGERS.txt
- Information on how to package SciPy and related tools.
-
THANKS.txt
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 __init__.py and the directories of SciPy modules.
+
+
SciPy modules
-------------
@@ -67,7 +66,7 @@ follow the following conventions:
* Directory ``xxx/`` must contain
+ a file ``setup.py`` that defines
- ``configuration(parent_package='',parent_path=None)`` function.
+ ``configuration(parent_package='',top_path=None)`` function.
See below for more details.
+ a file ``info.py``. See below more details.
@@ -84,252 +83,13 @@ follow the following conventions:
+ a directory ``docs/`` for documentation.
-File xxx/setup.py
----------------------
-
-Each SciPy module setup.py 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 setup.py 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/setup.py`` file that should contain
-one statement::
-
- execfile('setup.py')
-
-Ideally there should be no need for this file, but
-``distutils/command/bdist_rpm.py`` (Python versions <=2.3) has
-``setup.py`` hardcoded, so building .rpm files without the above-
-described ``setup.py`` file will fail. This is only relevant when you
-wish to distribute a SciPy module separately from SciPy.
-
-
-get_path
-++++++++
-
-``numpy.distutils.misc_util`` provides function
-``get_path(modulename,parent_path=None)`` that returns the directory
-of ``modulename``. In the ``setup.py`` 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 ``setup.py`` 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
-signatures:
-
-::
-
- 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``
-constructor.
-
-File xxx/info.py
---------------------
-
-SciPy setup.py and Lib/__init__.py files assume that each SciPy module
-contains a info.py file. The following information will be looked
-from this file:
-
-__doc__
- The documentation string of the module.
-
-__doc_title__
- The title of the module. If not defined then the first non-empty
- line of __doc__ will be used.
-
-standalone
- Boolean variable indicating whether the module should be installed
- as standalone or under scipy. Default value is False.
-
-dependencies
- [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``.
-
-global_symbols
- 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``.
-
-ignore
- 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.
-
-postpone_import
- 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/__init__.py
----------------------
-
-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 __init__.py file) should be copied also
-to info.py file.
-
-So, the header a typical xxx/__init__.py file is::
-
- #
- # Module xxx - ...
- #
-
- from info import __doc__
- ...
-
-File xxx/tests/test_yyy.py
---------------------------
-
-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 ``test_yyy.py`` 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
-functions::
-
- 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 ``ScipyTest.run`` method (this is supported only
-when ``optparse`` is installed).
+For details, read:
+ http://svn.scipy.org/svn/numpy/trunk/numpy/doc/DISTUTILS.txt
Open issues and discussion
--------------------------
-
Documentation
+++++++++++++
View
26 INSTALL.txt
@@ -10,7 +10,7 @@ Building and installing SciPy
:Revision: $Revision$
:Discussions to: scipy-dev@scipy.org
-See http://testing.scipy.org/documentation/buildscipy
+See http://new.scipy.org/Wiki/Installing_SciPy
for updates of this document.
.. Contents::
@@ -80,9 +80,9 @@ __ http://gcc.gnu.org/
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
__ http://www.fftw.org/
@@ -260,17 +260,14 @@ platforms (e.g. Linux x86). SciPy is not fully compatible with gcc
typing:
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 setup.py 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 setup.py build build_flib --fcompiler=<Vendor> install
+ python setup.py 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 scipy-user@scipy.org or scipy-dev@scipy.org mailing
lists. Please include the following information in your message:
-NOTE: With recent f2py version (>=2.33.xxx-xxxx) 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/system_info.py
- python INSTALLDIR/numpy/distutils/command/build_flib.py
where INSTALLDIR is, for example, /usr/lib/python2.4/site-packages/.
View
9 LATEST.txt
@@ -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 http://svn.scipy.org/svn/scipy/trunk scipy
+ svn co http://svn.scipy.org/svn/scipy/trunk 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.
View
104 PACKAGERS.txt
@@ -1,104 +0,0 @@
-.. -*- rest -*-
-.. NB! Keep this document a valid restructured document.
-
-.. WARNING: This file is out of date since the transition to scipy_core.
-
-Packaging Scipy
-===============
-
-:Author: Pearu Peterson <pearu@cens.ioc.ee>
-:Last changed: $Date$
-:Revision: $Revision$
-:Discussions to: scipy-dev@scipy.org
-
-Introduction
-------------
-
-People who have tried to create a distribution of a Scipy package have
-been faced with complex dependency issues between ``scipy`` and
-``f2py2e`` modules. Namely, both Scipy and F2py tar-balls provide
-``scipy_distutils`` module that may have different time stamps, for
-instance, not to mention that packaging tools (e.g. debian apt) don't
-like such cases at all. Scipy_distutils is part of the Scipy package
-while F2py ships ``scipy_distutils`` for the convenience of F2py
-users. So, the issue of distributing Scipy and F2py have been brought
-up in Scipy and F2py mailing lists many times and the purpose of this
-document is to provide instructions for the packagers how to overcome
-this issue.
-
-Any suggestions, especially from the packagers, to improve these
-instructions are most welcome. Please, send your comments or patches
-to scipy-dev@scipy.org.
-
-Packaging Scipy and friends
----------------------------
-
-Instead of using tar-balls from web, currently it is highly
-recommended getting scipy and other software from their CVS
-repository. Usually CVS versions are more stable than tar-balls
-(sometimes not but any issues will be quickly fixed), also core
-developers do not test tar-balls very frequently and occasionally some
-important files may be missing.
-
-1. Get Scipy, F2py and their dependencies from CVS::
-
- export CVSROOT=:pserver:anonymous@scipy.org:/home/cvsroot
- cvs -z7 co scipy
-
- export CVSROOT=:pserver:anonymous@cens.ioc.ee:/home/cvs
- cvs -z7 co f2py2e
-
-2. Create source tar-balls::
-
- cd f2py2e
- python setup.py sdist
- cp dist/F2PY-*.tar.gz ..
- cd ..
-
- cd scipy
- python setup.py sdist
- cp scipy_core/dist/Scipy_core-*.tar.gz ..
- cp dist/SciPy-*.tar.gz ..
- cd ..
-
- The resulting gzipped tar-files do not contain software overlaps
- anymore and should be suitable for packaging.
-
-3. Install ``scipy_core``, ``f2py2e``, and ``scipy`` strictly in the
- given order. Unpack all tar-ball sources and run::
-
- cd Scipy_core-*
- python setup.py install
- cd ..
-
- cd F2PY-*
- python setup.py install
- cd ..
-
- cd SciPy-*
- python setup.py install
- cd ..
-
-That's it!
-
-RPMs for Scipy and friends
---------------------------
-
-Follow the items 1-2 above and then continue as follows:
-
-3. Create RPMs::
-
- cd f2py2e
- # run buildhtml.py script provided by docutils to generate
- # HTML documentation of f2py.
- python setup.py bdist_rpm --fix-python
- cp dist/F2PY-*.rpm ..
- cd ..
-
- cd scipy
- python setup.py bdist_rpm --fix-python
- cp scipy_core/dist/Scipy_core-*.rpm ..
- cp dist/SciPy-*.rpm ..
- cd ..
-
-4. Install RPMs in the usual way but keep the order as in item 4.
View
3  README.txt
@@ -3,6 +3,7 @@ downloaded using the subversion client as
svn co http://svn.scipy.org/svn/scipy/trunk 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.
View
2  TOCHANGE.txt
@@ -5,7 +5,7 @@ done * Numeric/arrayobject.h to scipy/arrayobject.h
done * Numeric/ufuncobject.h to scipy/ufuncobject.h
done * scipy_test to scipy.test
done * Look for use of descr->zero and descr->ones --- need to be replaced
-* Change use of default_config_dict to Configuration
+done * Change use of default_config_dict to Configuration
Please sign in to comment.
Something went wrong with that request. Please try again.