New features

From VistrailsWiki
Revision as of 16:09, 24 September 2013 by Remi (talk | contribs) (Adds link to SubworkflowsDesign)
Jump to navigation Jump to search

This is a list of work-in-progress features, or features that haven't been released in a 2.0.x version. See also the list of development branches.

To be released in 2.1

These are in the 2.1 beta and will be released soon.

Core

vistrails prefix [ready]

'vistrails.' prefix added to package names.

This allows to use VisTrails as a library, it obsoletes the "init_for_library.py" hack.

Multi-line string parameters [ready]

The parameter editor allows to enter multi-line strings. It can be toggled between single-line and multi-line mode.

Bundles [needs work]

Fixed and updated the bundle installation system. It allows to automatically install required Python packages when they are first imported without restarting VisTrails or entering commands.

Supports the 'pip' installer (on both UNIX and Windows), apt (through Python binding) and Fedora (with yum -- binding currently broken, only uses cmd)

Automatic conversion [ready, documented]

Connecting incompatible ports is possible if a Converter subclass exists for these specific types.

Documented in the users' guide.

Enumeration for module ports [ready, demonstrated for PythonCalc]

It is possible to declare the possible values on a module's input port; the UI then shows a combobox.

Pausing/cancelling execution [ready, documented]

In users' guide.

Not stopping on the first error [ready, undocumented]

Adds a "Workflow/Stop on first error" option; disabling it will allow execution to continue if one module fails (for modules that didn't depend on it).

This is fairly trivial and might not need documentation.

Packages

controlflow [ready]

  • Added some modules: Default, Sum, And, Or
  • Added module While (backported to v2.0)
  • Fold split into Fold and FoldWithModule
  • Fixed product modules, now have ElementwiseProduct, Dot and Cross

(new) parallelflow [ready, documented]

Provides a way to execute modules or groups on an IPython cluster, via a Map module. Also has IPython UI to set it up, and an API to use IPython in other modules.

Documented in the users' guide. First implemented in Oct, 2012 by Fernando.

Note that it becomes obsolete with multithreaded-interpreter although a lot of code was reused.

(replaces pylab) matplotlib [ready, examples exist]

Replaces pylab with a better interface (specialized modules autogenerated from matplotlib's docstrings).

Lots of examples in examples/matplotlib/

(new) tabledata [ready]

A package allowing to load CSV files and NumPy arrays, to display them as a table and to convert between datatypes.

(new) BatchQ-PBS ("JobSubmission") [work in progress, undocumented]

Task submitting package using BatchQ.

Still work in progress.

Other features

These features are not in the 2.1 beta and probably won't make it to the release. They are on different branches

Core

Parallel execution [work in progress, documented]

(branches: multithreaded-interpreter, multithreaded-interpreter-target-seletion)

Changes to the interpreter allowing the parallel execution of modules in a pipeline.

This is opt-in for modules and thus doesn't break modules that use thread-unsafe code. Supports threads, multiprocessing and IPython clusters.

Replaces parallelflow.

New subworkflows (design phase)

See SubworkflowsDesign