[Numpy-discussion] Questions about organization
anthony.seward at ieee.org
Sun Jan 21 20:09:27 CST 2001
On Sun, 21 Jan 2001, Paul F. Dubois wrote:
> You wrote:
> ...As I understand it the goals are
> 1) keep all of the current packages in the distribution
> 2) the following imports will work individually or together:
> a) import Numeric
> b) import FFT
> c) import LinearAlgebra
> d) import MLab
> e) import Matrix
> f) import Precision
> g) import RandomArray
> h) import UserArray
> i) import ranlib
> j) import umath
> k) import RNG
> l) import MA
> 3) minimal changes in the source
> I just need some direction so that I can get things working. I think that
> the simplest thing is to merge the RANLIB and LALITE packages with the core
> of Numeric and make the building and installation of them an option. This
> fits beter with the paradigm of distutils.
> You are describing exactly what we used to have. We changed it. We had
> reasons that haven't disappeared.
> (1) is not necessarily a goal. We had a long argument about that, too. If
> anything, (1) is an anti-goal.
> Under no circumstances am I willing to move packages back to the core. I
> think it more likely that
> all the optional packages will go somewhere else entirely. We need a
> more organized structure.
> For historical reasons people did not want to change the way some of the
> above are NOT packages.
OK, I guess I mis-rememberd the conclusion. If we have a more organized
structure than I think that most of the problems would be solved. Whether
RANLIB and LALITE are sub-packages of Numeric, or they are installed
parallel to Numeric the setup.py scripts would be simple. If they are
parallel to Numeric than they can be imported like they are now if that is a
> (2) No, it is not possible to import those modules independently. Some
> depend on the others.
All of the import lines that I gave work with the Numeric that I have
installed: I left out the ones that didn't. Let me know which ones should be
able to be imported and if there are any missing.
> (3) is not a goal, but it is not permissible to require changes in CLIENT
> code, such as changing where the include files get installed.
By client code do you mean non-python code using the libraries?
> (4) Goal: enable people to easily modify LinearAlgebra so that a
> user-specified BLAS and/or LAPACK library is used.
I've been playing with this and on *nix types systems it shouldn't be too
hard to do as options to setup.py. I don't know how BLAS and LAPAK get
installed on non *nix systems. My plan has been to do minimal autoconf type
scanning (taking into consideration command line options) to look for
> (5) Goal: not make it harder to make distributions on the Mac or Windows
> just to make RPMs easier.
I'm trying to go through distutils when the required functionality is
already present so it shouldn't be mch of an issue. I do have a W2k laptop
that I can test things on in extremis.
The main roadblock is trying to figure out what to do with RANLIB and LALITE.
More information about the Numpy-discussion