[SciPy-dev] poll for renaming scipy_core online

Fernando Perez Fernando.Perez at colorado.edu
Mon Jan 2 16:58:22 CST 2006

Andrew Straw wrote:

> OK, so following up on this, I've realized there's a potential issue here:
> If the "package name"  (what you call "name") above becomes, for the
> sake of argument, numerix, does this mean that our distutils becomes
> numerix.distutils?  And numerix.distutils and numerix.f2py would be
> necessary for scipy?  An alternative is that the distribution could
> distribute two top-level packages (e.g. numerix and scipy).

Why is this an issue?  numerix, the package (consisting of ndarray, f2py, 
distutils and more) would be a dependency for scipy.  It would constitute the 
'core' (as we call it today) needed by the 'full' scipy, and it can be adopted 
as a reliable, easy to install dependency by many other projects (matplotlib, 
for example).

I don't see this as a problem: numerix doesn't have runtime dependencies on 
Fortran or anything else, and only a gcc (or similar) build-time dependency, 
just like any other python extension module.  With Win32 binaries being 
provided, this shouldn't be a problem.

Keep in mind that, in terms of included packages (major internal rewrites, 
renaming and reorganization aside), we have:

  numerix ~ today's Numeric/numarray + f2py + scipy.distutils

Both f2py and distutils are pure-python systems.  Offering them in numerix 
means that no extra dependencies are needed for 'full' scipy.  We then have 
the following dependency table (beyond Python itself):

numerix dependencies

   * binary install:

     - None

   * source install:

     - A C compiler.

   * runtime:

    - (optional) the f2py package, provided as part of numerix, requires a 
Fortran compiler to operate.  f2py is not needed for numerix's normal 
functioning, it is a utility package.

scipy dependencies

   * binary install:

     - the numerix package

   * source install:

    - the numerix package

    - (optionally) the ATLAS libraries.

    - C and Fortran compilers.

   * runtime:

    - the numerix package

    - (optional) The weave module, which allows runtime dynaminc inlining of C 
and C++ code, requires C/C++ compilers to operate. weave is not needed for 
scipy's normal functioning, it is a utility package.

This looks like a pretty decent situation to me.  Am I missing something?



More information about the Scipy-dev mailing list