[SciPy-dev] toward scipy 1.0

Rob Clewley rob.clewley@gmail....
Tue Nov 4 13:18:27 CST 2008


Hi,

> We don't need scipy to be nimble, we need it to be stable and well
> thought-out.

I basically agree with your proposal. A substantial re-organization
has to occur before scipy becomes Frankenstein's monster a few years
down the line. It seems that scipy will only become stable and well
thought out by making substantial API changes and refactoring of all
sorts of code in different modules. So, yes, we need a big community
effort to do that effectively, and that's what I want to address
below.

> Here's what I propose:
>
> 1. reassess what's there:
> 2. hunt for looming incompatible API changes:
> 3. community comments on the collection of reports online and looks
> for consensus on any overall restructuring

These three initial steps are going to be very hard for people like
myself who haven't ever delved into all the scipy modules, let alone
the scikits. May I suggest that, to involve as many of the community
as possible, part of these steps should involve an effective way to
visualize and analyze all the co-dependent or merely related modules
of scipy.

> We'd need a web tool similar to the doc wiki for this.  Or, we could
> use a wiki and a lot of discipline.

In these days of easily setup online tools, gathering and presenting
information from the community could be done more effectively even
than the somewhat linear style of a wiki. The best way to do this
could be an online graphical browser for the repository. I don't mean
a hierarchical navigator like in windows explorer or the mac finder, I
mean one of those interactive and "springy" associative network
diagrams that are increasingly common on the web (e.g. the graphical
thesaurus, music map). These would be community-edited diagrams so
they would build over time as people work through the code base. One
diagram could show cross-dependencies from imports (maybe generated
automatically), and another could show where modules have overlapping
functionality. Colors and other graphical markup of the nodes and
links could indicate the extent or significance of these overlaps, to
help flag potential problems or places to focus effort. The nodes
could link to the code sources and show markup there that highlight
and show comments about the overlaps and ideas.

I'm just thinking off the top of my head here, and I have no idea if
there's already a graphical repository browser that we could use. It
would surely be a tremendous help to organizing any large software
project, even for small groups of developers.

-Rob


More information about the Scipy-dev mailing list