[SciPy-dev] packaging bof notes

Fernando Perez Fernando.Perez at colorado.edu
Fri Sep 23 00:21:41 CDT 2005

Thu Sep 22 21:57:50 MDT 2005

M. Knepley's build  tools

- no support for versioning.  Only latest version of anything is supported,
they don't even attempt to support multiple versions.  But they do for a few
things like BLAS.

- 'Version numbers are just names'.  No significant semantic content in there.

- Tests are done, as much as possible, for behavior.

- setup.py knows nothing about dependencies, this knowledge has to be given to

- Tools: a set of python files included with the PETSc distribution.

- Interface is simple: naming convention (configure).

- scipy.distutils: Michel Sanner's tools ported their tools to scipy, and it
worked for them.

- Could the PETSC config system be brought into scipy.distutils?

- MK's buildsys can ensure that libraries (atlas, fftw, etc) are actually
there, and will download/build them if needed.

M Sanner's questions

- These issues are not scipy-specific.  Can these tools benefit other projects
without making scipy a dependency for them?

- Versioning?

Python eggs

- single zip files w/python code and metadata (version, dependencies, scripts
to be unpacked, extension modules, ...)

An egg can be a complete package, or it can be a 'namespace package'.  These
are logical containers, and the actual packages are packed in their own eggs.

- Package resources: library which can ask for specific versions, etc.

Two issues: installation and verification of correctness.

We can't prevent third-party libraries from making semantic changes across
versions, explicitly specified or not.

- support for subpackage building.  Download all the source, but allow users
to build only what they need.

More information about the Scipy-dev mailing list