[SciPy-User] Pylab - standard packages

David Baddeley david_baddeley@yahoo.com...
Tue Sep 18 18:02:32 CDT 2012

I guess the current main 'Pylab compatible' distributions are EPD and Python(x,y). It might make sense to base the standard around their core components. I'd definitely include Cython in the core package list, and would consider specifying that a c- compiler should be bundled on platforms which don't provide one (ie windows), and that Python (and numpy) headers be provided so that the distribution is build-ready (especially as both easy_install and pip install from source rather than downloading compiled packages).  I'd suggest making any specification of IDE packages relatively loose and say that they should be there, but leave the choice of package to the implementer, eg: 

"A Pylab distribution should include:
- A GUI framework which is compatible with Matplotlib (e.g. wx or Qt - I think it makes sense to push people towards these 2 frameworks rather than, e.g. GTK or Tk)
- An editor which supports python syntax highlighting and ideally treats tab as 4 spaces (a minimalist install might fall back on IDLE)
- An interactive shell  (e.g. IPython)"

 From: Thomas Kluyver <takowl@gmail.com>
To: SciPy Users List <scipy-user@scipy.org> 
Sent: Wednesday, 19 September 2012 10:26 AM
Subject: [SciPy-User] Pylab - standard packages
Hi again,

It now looks like we're going to use Pylab as the name for the 'scipy
stack'. Now I want to turn to the question of what it should include.
The idea is that Python distributions can call themselves Pylab
compliant if they provide at least a defined set of packages. Also, I
hope that it will become a metapackage in Linux distributions, so that
users can 'apt-get install pylab' or similar

As a minimum, I assume we should require Python, Numpy, Scipy and
Matplotlib. Does anyone disagree?

I also think we should specify minimum versions. The standard itself
will be versioned, so we can raise these over time. For Python, I
intend the requirement to be 2.x >= 2.6 or 3.x >= 3.2. What are
sensible minimum versions of Numpy, Scipy and Matplotlib?

Should the standard include an interface? IPython, a more traditional
IDE, or both? On the one hand, specifying a standard interface means
users can share experience better, and exchange richer files, like
IPython notebooks or IDE project structures. Matlab, for instance,
wins praise for including a powerful IDE by default. On the other
hand, we've got several interesting UI efforts still taking shape -
IPython notebooks, Spyder, IEP - and declaring one standard would make
the alternatives less visible. I'm honestly torn on this - I can see
good arguments for and against.

Other scientific packages we might consider include pandas (which
provides functionality similar to core parts of R), Sympy, Cython,
various scikits projects, h5py, and doubtless many others I haven't
thought of. We could also specify general purpose Python packages such
as requests, or a GUI toolkit.

On the NumFOCUS list, Chris Kees raised the idea that there could be
two or more levels of packages, e.g. 'core' and 'recommended'. I don't
think we should add that kind of complexity in the first version, but
keep in mind that we could differentiate it later.

Finally, I mean the standard to specify that the distribution must
offer a way of installing arbitrary extra Python packages into it, so
the standard shouldn't try to include everything you might need for
scientific computing. The aim is to offer a key set of tools so you
can get started without having to add things. "Get started with what?"
is the key question we have to answer. In my field, for example,
statistical tests are fundamental, while symbolic maths is hardly

All your opinions are welcome,

SciPy-User mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/scipy-user/attachments/20120918/70660dcf/attachment.html 

More information about the SciPy-User mailing list