http://code.google.com/p/ruffus/
That provides for support for computational
pipelines in Python. It has some nice features
for support of a task pipeline and visualization
of the pipeline using Graphviz.
Cheers,
Tim.
---
Tim Lahey
PhD Candidate, Systems Design Engineering
University of Waterloo
http://www.linkedin.com/in/timlahey
On a somewhat related, highly speculative note: It should be possible
to convert the worksheet into a free-form workspace. The classic
one-column setup works well, but different arrangements could be useful
in some situations.
The browser's cell list is now an array of IDs, but we can also keep
track of cell coordinates (2D or 3D), orientations, input-output
connections (see below), types, etc. Of course, we should save this
data on the server, too, in order to restore pieces to their places.
A click on the workspace or a toolbar might create a new stem cell [1].
Another click (or a paste event) could convert it to an ordinary input
cell, a text cell, an interactive cell, or something completely different.
In the case of "interacts" [2], each such cell might have a set of
inputs and outputs. These could be scalars or more intricate Sage
objects, images, sounds, etc. Nevertheless, a cell's widgets, including
ordinary functions, should be able to read / write the variables in a
standard way.
Efficiently making, maintaining, and displaying the graph of cell
connections probably requires some thought and a lot of work. It'd be
great to have both plain text and drag-and-drop options [3].
Ideally, we'd also be able to specify the conditions under which a
given cell fires, e.g., when any input is updated, after all inputs are
updated, or manually. The preparser, special cell variables (e.g.,
_in_X, _out_Y), notebook's callback system, and/or jQuery [4] may
help here.
Not that I'm volunteering, so feel free to pile it on... Thoughts?
[1] http://groups.google.com/group/sage-devel/msg/1f5658399f500c24
[3] A desktop example is the signals-and-slots mode in Qt Designer
(/usr/bin/designer-qt4 on Fedora Linux):
http://doc.qtsoftware.com/4.5/designer-connection-mode.html
I think VisTrails
http://www.vistrails.org/index.php/Main_Page
also works in this way.
[4] jQuery, or one of it's plug-ins, can handle certain live events:
http://docs.jquery.com/Events/live
http://plugins.jquery.com/project/Listen
http://plugins.jquery.com/project/Intercept
http://plugins.jquery.com/project/livequery
> On Wed, Jul 1, 2009 at 5:38 PM, Pat LeSmithe<qed...@gmail.com> wrote:
>>
>> On a somewhat related, highly speculative note: It should be
>> possible
>> to convert the worksheet into a free-form workspace. The classic
>> one-column setup works well, but different arrangements could be
>> useful
>> in some situations.
Great ideas.
> I'm funded to work fulltime on the notebook and symbolic manipulation
> stuff from mid-September through mid-December (yeah Univ of
> Washington!), and need all the ideas people can suggest to keep me
> busy. :-)
>
I'd love to have interacts that work on public worksheets.
--
Kevin Horton
Ottawa, Canada