Difference between revisions of "New features"

From VistrailsWiki
Jump to navigation Jump to search
(Add "new" marker for packages that were completely absent in 2.0)
(Reorganization, some features go in 2.1 and some don't)
Line 1: Line 1:
This is a list of work-in-progress features, or features that haven't been released in a 2.0.x version.
This is a list of work-in-progress features, or features that haven't been released in a 2.0.x version.


== Core ==
== To be released in 2.1 ==


=== vistrails prefix [ready] ===
These are in the 2.1 beta and will be released soon.
 
=== Core ===
 
==== vistrails prefix [ready] ====
'vistrails.' prefix added to package names.
'vistrails.' prefix added to package names.


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


=== Multi-line string parameters [ready] ===
==== 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.
The parameter editor allows to enter multi-line strings. It can be toggled between single-line and multi-line mode.


=== Bundles [needs work] ===
==== 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.
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''')
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] ===
==== Automatic conversion [ready, documented] ====
Connecting incompatible ports is possible if a Converter subclass exists for these specific types.
Connecting incompatible ports is possible if a Converter subclass exists for these specific types.


Documented in the users' guide.
Documented in the users' guide.


=== Enumeration for module ports [ready, demonstrated for PythonCalc] ===
==== 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.
It is possible to declare the possible values on a module's input port; the UI then shows a combobox.


=== [[multithreaded-interpreter|Parallel execution]] [work in progress, undocumented] ===
==== Pausing/cancelling execution [ready, documented] ====
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.
 
=== Pausing/cancelling execution [ready, documented] ===
In users' guide.
In users' guide.


== Packages ==
=== Packages ===


=== controlflow [ready] ===
==== controlflow [ready] ====
* Added some modules: Default, Sum, And, Or
* Added some modules: Default, Sum, And, Or
* Added module While (not merged in, branch optimize-module)
* Added module While (not merged in, branch optimize-module)
Line 42: Line 39:
* Fixed product modules, now have ElementwiseProduct, Dot and Cross
* Fixed product modules, now have ElementwiseProduct, Dot and Cross


=== (new) parallelflow [ready, documented] ===
==== (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.
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.


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


=== (replaces pylab) matplotlib [ready, examples exist] ===
==== (replaces pylab) matplotlib [ready, examples exist] ====
Replaces pylab with a better interface (specialized modules autogenerated from matplotlib's docstrings).
Replaces pylab with a better interface (specialized modules autogenerated from matplotlib's docstrings).


Lots of examples in examples/matplotlib/
Lots of examples in examples/matplotlib/


=== (new) tabledata [ready] ===
==== (new) tabledata [ready] ====
A package allowing to load CSV files and NumPy arrays, to display them as a table and to convert between datatypes.
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] ===
==== (new) BatchQ-PBS ("JobSubmission") [work in progress, undocumented] ====
Task submitting package using [https://github.com/troelsfr/BatchQ BatchQ].
Task submitting package using [https://github.com/troelsfr/BatchQ BatchQ].


Still work in progress.
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 ===
==== [[multithreaded-interpreter|Parallel execution]] [work in progress, undocumented] ====
''(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.

Revision as of 17:02, 23 August 2013

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

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.

Packages

controlflow [ready]

  • Added some modules: Default, Sum, And, Or
  • Added module While (not merged in, branch optimize-module)
  • 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, undocumented]

(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.