[Numpy-discussion] SciPy Sprint results

Travis E. Oliphant oliphant at enthought.com
Wed Dec 19 13:52:35 EST 2007


Hi all,

We had a great Sprint at Berkeley over last weekend.  Jarrod deserves a 
huge hand for organizing it and Fernando should be also congradulated 
for making the Sprint a productive communication session with a lot of 
different people. 

Going forward, there will be a relatively informal SciPy board whose 
purpose is to keep SciPy (and NumPy) moving forward.   Currently, this 
board consists of  (alphabetically)

Eric Jones
Robert Kern
Jarrod Millman
Travis Oliphant

Our goal is to clean up SciPy and get it ready for 1.0 release over the 
next year or so (which will need lots of help from the community).   If 
anybody else is interested in serving on this board, just send me email. 

As part of this goal, we will be having regular "sprints" as well 
virtual "bug-days" and "doc-days" where people who want to participate 
using IRC can join in and coordinate efforts.   There will be at least 
one bug-day or doc-day every month over the next year (on the last 
Friday of the month).   The first one is a "doc-day" which will be held 
Friday on December 28, 2007 (getting started on New Year's resolutions 
early).   This doc-day will be virtual where anyone with an internet 
connection can join in on the scipy channel on  irc.freenode.net.

At least one board member will be available at each "doc-day" or 
"bug-day" (even if we have to recruit board members to make it happen :-) )

The recent Sprint was very helpful.  Jarrod is putting together some 
material from the Sprint.  But, I wanted to provide over-view 
information for those who may be interested in what happend.

Summary:

A lot of great discussion took place (and some fine actual coding by a 
few) which resulted in the following plans:

Schedule
------------
  * NumPy 1.0.5 in mid January
  * SciPy 0.7.0 in mid March to April
  * NumPy 1.1 by August 2008 (may slip a bit depending on what is wanted 
to be included)

The plans below are for NumPy 1.0.5 and SciPy 0.7.0 unless otherwise noted.

IO
----
  * scipy.io will be gutted and what functionality remains will be 
placed in numpy.io.
  * scipy.io will be a place for file readers and writers for various 
data formats (data, audio, video, images, matlab, excel, etc.)
  * NumPy will get a standard binary file format (.npy/.npz) for 
arrays/groups_of_arrays.
  * NumPy will be trying to incorporate some of matplotlib's csv2rec and 
rec2csv functionality.
  * Pickling arrays will be discouraged (you will still be able to do 
it, we will just try to not make it seem that it is the "default" way to 
save arrays).

Testing
---------
  * scipy unit-testing will be "nose-compliant" and therefore nose will 
be required to run the SciPy tests. 
  * NumPy will still use the current testing framework but will support 
SciPy's desire to be nose-compliant.  NumPy 1.1 tests may move to just 
being "nose-compliant"
  * The goal is to make tests easier for contributors to write.

Weave
---------
  * weave will not move into NumPy yet, but possibly at NumPy 1.1, there 
could be a separate package containing all the "wrapping" support code 
for NumPy in a more unified fashion (if somebody is interested in this, 
it is a great time to jump in).

Sandbox
-----------
  * the scipy sandbox is disappearing (except for user playgrounds) and 
useful code in it will be placed in other areas.

Python versions
--------------------
  * SciPy 0.7.0 will require Python 2.4 (we can now use decorators for 
SciPy).
  * NumPy will still be useful with Python 2.3 until at least 1.1

Other discussions
----------------------
  * numpy-scons will be a separate package for now for building 
extensions with scons (we need experience to figure out what to do with 
it).
  * fixes to repr for numpy float scalars were put in place
  * Thanks to Rob Falck scipy.optimize grew slsqp  (sequential 
least-squares programming) method (allows for equality and inequality 
constraints).   The code by Dieter Kraft was wrapped.
  * We will be working to coordinate efforts with William Stein (of SAGE 
fame) in the future.  Sage developers will be coming to Austin at the 
end of February to do some cooperative sprinting.
  * Brian Granger is working on a parallel version of NumPy that is very 
interesting.


Deprecation approaches
-------------------------------

Functions in SciPy that are disappearing will be "deprecated" with 
appendages to the docstring to explain how to do it differently.  The 
deprecation will issue a warning when the function is run.  In the next 
version, the function will disappear.   Once SciPy hits 1.0, the 
deprecation paradigm will be a bit more conservative.


A lot of fabulous things are happening with SciPy.  It is an exciting 
time to be a part of it.   There are a lot of ways to jump in and 
participate so feel free.   If there is something you think needs 
addressing, then please share it.   We may have a simple PEP process in 
the future, but for now the rule is basically "working code."


Best regards,

-Travis O.





More information about the NumPy-Discussion mailing list