[Scipy-svn] r5417 - branches/0.7.x/doc/release

scipy-svn at scipy.org scipy-svn at scipy.org
Sat Jan 10 04:15:43 EST 2009


Author: jarrod.millman
Date: 2009-01-10 03:15:42 -0600 (Sat, 10 Jan 2009)
New Revision: 5417

Modified:
   branches/0.7.x/doc/release/0.7.0-notes.rst
Log:
Backport r5416


Modified: branches/0.7.x/doc/release/0.7.0-notes.rst
===================================================================
--- branches/0.7.x/doc/release/0.7.0-notes.rst	2009-01-10 09:07:33 UTC (rev 5416)
+++ branches/0.7.x/doc/release/0.7.0-notes.rst	2009-01-10 09:15:42 UTC (rev 5417)
@@ -4,107 +4,118 @@
 
 .. contents::
 
-This new minor release comes almost one year after the 0.6.0 release
+SciPy 0.7.0 is the culmination of 16 months of hard work and 
 and contains many new features, numerous bug-fixes, improved test
 coverage, and better documentation.  There have been a number of
 deprecations and API changes in this release, which are documented
-below.  While NumPy is an extremely stable, production-ready package,
-SciPy is still under rapid development.  Every effort is made to ensure
-that our code is as stable and bug-free as possible (e.g., this release
-almost doubles the number of unit tests compared to 0.6.0).  However, as
-we work toward the first stable, production-ready release (1.0.0), we
-will be adding new modules and packages and we reserve the right to modify
-SciPy's API and move code around to make the overall code organization
-as intuitive as possible for new users.
+below.  All users are encouraged to upgrade to this release as
+there are a large number of bug-fixes and optimizations.  Moreover,
+our development attention will now shift to bug-fix releases on the
+0.7.x branch and new feature on the development trunk.  This release
+requires Python 2.4 or 2.5 and NumPy 1.2 or greater.
 
-All users are encouraged to upgrade to this release as there are a large
-number of bug-fixes and optimizations.  Moreover, our development attention
-will now shift to bug-fix releases on the 0.7.x branch and new feature on
-the development trunk.
+Please note that SciPy is still considered "Beta" status as we work
+toward a SciPy 1.0.0 release.  The 1.0.0 release will mark a major
+step in the development of SciPy after which changing the package
+structure or API will be much more difficult.  While these pre-1.0
+releases are considered "Beta" status, we are committed to making
+them as bug-free as possible.  For example, in addition to fixing
+numerous bugs in this release, we have also doubled the number
+of unit tests since the last release.
 
-Please note that unlike previous versions of SciPy, this release
-requires Python 2.4 or 2.5.  This release also requires NumPy 1.2.0
-or greater.
+However, until the 1.0 release we are aggressively reviewing and
+refining the functionality, organization, and interface in an effort
+to make the package as coherent, intuitive, and useful as possible.
+To achieve this, we need help from the community of users.  Specifically,
+we need feedback about all aspects of the project--everything from which
+algorithms we implement to details about our function's call signatures.  
 
+Over the last year, we have seen an rapid increase in community involvement
+and numerous infrastructure improvements to lower the barrier to contributions
+(e.g., more explicit coding standards, improved testing infrastructure, better
+documentation tools).  Over the next year, we hope to see this trend continue
+and invite everyone to become more involved.
+
 Python 2.6 and 3.0
 ------------------
 
+A significant amount of work has gone into making SciPy compatible with
+Python 2.6; however, there are still some issues in this regard.
+The main issue with 2.6 support is NumPy.  On UNIX (including Mac OS X),
+NumPy 1.2.1 mostly works, with a few caveats.  On Windows, there are problems
+related to the compilation process.  The upcoming NumPy 1.3 release will fix
+these issues.  Any remaining issues with 2.6 support for SciPy 0.7 will
+be addressed in a bug-fix release.
+
 Python 3.0 is not supported at all:  it requires NumPy to be ported to
 Python 3.0, which is a massive effort, since a lot of C code has to be
-ported.  It will happen, but not anytime soon.
+ported.  We are still considering how to make the transition to 3.0, but we
+currently don't have any timeline or roadmap for this transition.
 
-The main issue with 2.6 support is NumPy.  On UNIX (including Mac OS X), NumPy
-1.2.1 mostly works, with a few caveats.  On Windows, there are some problems
-related to the compilation process.  The upcoming 1.3 version of NumPy will fix
-those.
-
 Sparse Matrices
 ---------------
 
-* added support for integer dtypes such ``int8``, ``uint32``, etc.
+Sparse matrices have seen extensive improvements.  There is now support for integer
+dtypes such ``int8``, ``uint32``, etc.  Two new sparse formats were added:
+
 * new class ``dia_matrix`` : the sparse DIAgonal format
 * new class ``bsr_matrix`` : the Block CSR format
-* new sparse matrix construction functions
 
- * ``sparse.kron`` : sparse Kronecker product
- * ``sparse.bmat`` : sparse version of ``numpy.bmat``
- * ``sparse.vstack`` : sparse version of ``numpy.vstack``
- * ``sparse.hstack`` : sparse version of ``numpy.hstack``
+Several new sparse matrix construction functions were added:
 
-* extraction of submatrices and nonzero values
+* ``sparse.kron`` : sparse Kronecker product
+* ``sparse.bmat`` : sparse version of ``numpy.bmat``
+* ``sparse.vstack`` : sparse version of ``numpy.vstack``
+* ``sparse.hstack`` : sparse version of ``numpy.hstack``
 
- * ``sparse.tril`` : extract lower triangle
- * ``sparse.triu`` : extract upper triangle
- * ``sparse.find`` : nonzero values and their indices
+Extraction of submatrices and nonzero values have been added:
 
-* ``csr_matrix`` and ``csc_matrix`` now support slicing and fancy indexing
+* ``sparse.tril`` : extract lower triangle
+* ``sparse.triu`` : extract upper triangle
+* ``sparse.find`` : nonzero values and their indices
 
- * e.g. ``A[1:3, 4:7]`` and ``A[[3,2,6,8],:]``
+``csr_matrix`` and ``csc_matrix`` now support slicing and fancy indexing
+(e.g., ``A[1:3, 4:7]`` and ``A[[3,2,6,8],:]``).  Conversions among all
+sparse formats are now possible:
 
-* conversions among all sparse formats are now possible
+* using member functions such as ``.tocsr()`` and ``.tolil()``
+* using the ``.asformat()`` member function, e.g. ``A.asformat('csr')``
+* using constructors ``A = lil_matrix([[1,2]]); B = csr_matrix(A)``
 
- * using member functions such as ``.tocsr()`` and ``.tolil()``
- * using the ``.asformat()`` member function, e.g. ``A.asformat('csr')``
- * using constructors ``A = lil_matrix([[1,2]]); B = csr_matrix(A)``
+All sparse constructors now accept dense matrices and lists of lists.  For
+example:
 
-* all sparse constructors now accept dense matrices and lists of lists
+* ``A = csr_matrix( rand(3,3) )`` and ``B = lil_matrix( [[1,2],[3,4]] )``
 
- * e.g. ``A = csr_matrix( rand(3,3) )`` and ``B = lil_matrix( [[1,2],[3,4]] )``
+Numerous efficiency improvements to format conversions and sparse matrix
+arithmetic.  Finally, this release contains numerous bugfixes.
 
-* efficiency improvements to:
-
- * format conversions
- * sparse matrix arithmetic
-
-* numerous bugfixes
-
 Reworking of IO package
 -----------------------
 
 The IO code in both NumPy and SciPy is undergoing a major reworking. NumPy
 will be where basic code for reading and writing NumPy arrays is located,
 while SciPy will house file readers and writers for various data formats
-(data, audio, video, images, matlab, excel, etc.).  This reworking started
-NumPy 1.1.0 and will take place over many release.  SciPy 0.7.0 has several
-changes including:
+(data, audio, video, images, matlab, etc.).
 
-* Several functions in ``scipy.io`` have been deprecated and will be removed
-  in the 0.8.0 release including ``npfile``, ``save``, ``load``, ``create_module``,
-  ``create_shelf``, ``objload``, ``objsave``, ``fopen``, ``read_array``,
-  ``write_array``, ``fread``, ``fwrite``, ``bswap``, ``packbits``, ``unpackbits``,
-  and ``convert_objectarray``.  Some of these functions have been replaced by
-  NumPy's raw reading and writing capabilities, memory-mapping capabilities,
-  or array methods.  Others have been moved from SciPy to NumPy, since basic
-  array reading and writing capability is now handled by NumPy.
-* the Matlab (TM) file readers/writers have a number of improvements:
+Several functions in ``scipy.io`` have been deprecated and will be removed
+in the 0.8.0 release including ``npfile``, ``save``, ``load``, ``create_module``,
+``create_shelf``, ``objload``, ``objsave``, ``fopen``, ``read_array``,
+``write_array``, ``fread``, ``fwrite``, ``bswap``, ``packbits``, ``unpackbits``,
+and ``convert_objectarray``.  Some of these functions have been replaced by
+NumPy's raw reading and writing capabilities, memory-mapping capabilities,
+or array methods.  Others have been moved from SciPy to NumPy, since basic
+array reading and writing capability is now handled by NumPy.
 
- * default version 5
- * v5 writers for structures, cell arrays, and objects
- * v5 readers/writers for function handles and 64-bit integers
- * new struct_as_record keyword argument to ``loadmat``, which loads
-   struct arrays in matlab as record arrays in numpy
- * string arrays have ``dtype='U...'`` instead of ``dtype=object``
+The Matlab (TM) file readers/writers have a number of improvements:
 
+* default version 5
+* v5 writers for structures, cell arrays, and objects
+* v5 readers/writers for function handles and 64-bit integers
+* new struct_as_record keyword argument to ``loadmat``, which loads
+  struct arrays in matlab as record arrays in numpy
+* string arrays have ``dtype='U...'`` instead of ``dtype=object``
+
 New Hierarchical Clustering module
 ----------------------------------
 
@@ -173,9 +184,6 @@
 the relative precision, in that order. All constants are in SI units
 unless otherwise stated.  Several helper functions are provided.
 
-The list is not meant to be comprehensive, but just a convenient list
-for everyday use.
-
 New Radial Basis Function module
 --------------------------------
 
@@ -226,11 +234,7 @@
 
 The shape of return values from ``scipy.interpolate.interp1d`` used
 to be incorrect if interpolated data had more than 2 dimensions and
-the axis keyword was set to a non-default value. This is fixed in 0.7.0:
-
-  - http://projects.scipy.org/scipy/scipy/ticket/289
-  - http://projects.scipy.org/scipy/scipy/ticket/660
-
+the axis keyword was set to a non-default value. This has been fixed.
 Users of ``scipy.interpolate.interp1d`` may need to revise their code
 if it relies on the incorrect behavior.
 
@@ -238,36 +242,39 @@
 ------------------
 
 Statistical functions for masked arrays have been added and are accessible 
-through scipy.stats.mstats. The functions are similar to their counterparts 
-in scipy.stats but they have not yet been verified for identical interfaces
+through ``scipy.stats.mstats``. The functions are similar to their counterparts 
+in ``scipy.stats`` but they have not yet been verified for identical interfaces
 and algorithms.
 
-Several bugs were fixed for statistical functions, of those, kstest and percentileofscore
-gained new keyword arguments.
+Several bugs were fixed for statistical functions, of those, ``kstest`` and
+``percentileofscore`` gained new keyword arguments.
 
-Added deprecation warning for mean, median, var, std, cov and corrcoef. These functions 
-should be replaced by their numpy counterparts. Note, however, that some of the default 
-options differ between the scipy.stats and numpy versions of these functions.
+Added deprecation warning for ``mean``, ``median``, ``var``, ``std``,
+``cov``, and ``corrcoef``. These functions should be replaced by their
+numpy counterparts.  Note, however, that some of the default options differ
+between the ``scipy.stats`` and numpy versions of these functions.
 
-Numerous bug fixes to stats.distributions: all generic methods work now correctly, several
-methods in individual distributions were corrected. However, a few issues remain with 
-higher moments (skew, kurtosis) and entropy. The maximum likelihood estimator, fit, does not
-work out-of-the-box for some distributions, in some cases, starting values have to be 
-carefully chosen, in other cases, the generic implementation of the maximum likelihood 
-method might not be the numerically appropriate estimation method.
+Numerous bug fixes to ``stats.distributions``: all generic methods now work
+correctly, several methods in individual distributions were corrected. However,
+a few issues remain with higher moments (``skew``, ``kurtosis``) and entropy.
+The maximum likelihood estimator, ``fit``, does not work out-of-the-box for
+some distributions, in some cases, starting values have to be 
+carefully chosen, in other cases, the generic implementation of the maximum
+likelihood method might not be the numerically appropriate estimation method.
 
-We expect more bugfixes, increases in numerical precision and enhancements in the next 
-release of scipy.
+We expect more bugfixes, increases in numerical precision and enhancements in
+the next release of scipy.
 
 Running Tests
 -------------
 
 NumPy 1.2 introduced a new testing framework based on `nose 
-<http://code.google.com/p/python-nose/>`__.  Starting with this release SciPy now
-uses the new NumPy test framework as well.  To take advantage of the new testing framework
-requires nose version 0.10 or later.  One major advantage of the new framework is that
-it greatly reduces the difficulty of writing unit tests, which has all ready paid off given
-the rapid increase in tests.  To run the full test suite::
+<http://code.google.com/p/python-nose/>`__.  Starting with this release SciPy
+now uses the new NumPy test framework as well.  To take advantage of the new
+testing framework requires ``nose`` version 0.10 or later.  One major advantage
+of the new framework is that it greatly reduces the difficulty of writing unit
+tests, which has all ready paid off given the rapid increase in tests.  To run
+the full test suite::
 
     >>> import scipy
     >>> scipy.test('full')
@@ -275,8 +282,9 @@
 For more information, please see `The NumPy/SciPy Testing Guide
 <http://projects.scipy.org/scipy/numpy/wiki/TestingGuidelines>`__.
 
-We have also greatly improved our test coverage.  There were just over 2,000 unit tests in
-the 0.6.0 release; this release nearly doubles that number with just under 4,000 unit tests.
+We have also greatly improved our test coverage.  There were just over 2,000 unit
+tests in the 0.6.0 release; this release nearly doubles that number with just over
+4,000 unit tests.
 
 Building SciPy
 --------------
@@ -284,20 +292,28 @@
 Support for NumScons has been added. NumScons is a tentative new
 build system for NumPy/SciPy, using `SCons <http://www.scons.org/>`__ at its core.
 
-SCons is a next-generation build system meant to replace the venerable ``Make`` with
-the integrated functionality of ``autoconf``/``automake`` and ``ccache``.  Scons is
-written in Python and its configuration files are Python scripts.  NumScons is meant
-to replace NumPy's custom version of ``distutils`` providing more advanced functionality
-such as autoconf, improved fortran support, more tools, and support for
-``numpy.distutils``/``scons`` cooperation.
+SCons is a next-generation build system meant to replace the venerable ``Make``
+with the integrated functionality of ``autoconf``/``automake`` and ``ccache``.
+Scons is written in Python and its configuration files are Python scripts.
+NumScons is meant to replace NumPy's custom version of ``distutils`` providing
+more advanced functionality such as ``autoconf``, improved fortran support,
+more tools, and support for ``numpy.distutils``/``scons`` cooperation.
 
+Weave clean up
+--------------
+
+There were numerous improvements to ``scipy.weave``.  ``blitz++`` was
+relicensed by the author to be compatible with the SciPy license.
+``wx_spec.py`` was removed.
+
 Sandbox Removed
 ---------------
 
-While porting SciPy to NumPy in 2005, several packages and modules were moved into
-``scipy.sandbox``.  The sandbox was a staging ground for packages that were undergoing
-rapid development and whose APIs were in flux.  It was also a place where broken code
-could live.  The sandbox has served its purpose well and was starting to create confusion,
-so ``scipy.sandbox`` was removed.  Most of the code was moved into ``scipy``, some code was
-made into a ``scikit``, and the remaining code was just deleted as the functionality had
+While porting SciPy to NumPy in 2005, several packages and modules were
+moved into ``scipy.sandbox``.  The sandbox was a staging ground for packages
+that were undergoing rapid development and whose APIs were in flux.  It was
+also a place where broken code could live.  The sandbox has served its purpose
+well and was starting to create confusion, so ``scipy.sandbox`` was removed.
+Most of the code was moved into ``scipy``, some code was made into a
+``scikit``, and the remaining code was just deleted as the functionality had
 been replaced by other code.




More information about the Scipy-svn mailing list