Development Branches

From VistrailsWiki
Jump to navigation Jump to search

Main branches

master

This is the development branch of VisTrails. It's where the features are merged for the next release and tested/bugfixed for a future public version.

v2.1

This is the upcoming version, currently in beta. No more features should be added here, and once we think no more bug fixing is required, it will become the new stable version. Bug fixes will still happen on this branch, and would lead to the release of minor versions (2.1.1, 2.1.2, ...).

v2.0

This is the current stable version. No more features are to be added here. We add there the occasional bugfix, but this should slow down once 2.1 is released.

The list of features that are not present in 2.0 is available on the page New features.

uvcdat-*

These branches are used by the UV-CDAT project. They were forked from VisTrails long ago (Feb. 2012) and there is not intention to merge back, although they live in the same repository.

Development branches

master itself is an integration branch and is not generally stable. However development of complex features happen in their own branches, based off master, listed below.

dat

This branch has changes needed by the DAT tool, and that generally makes VisTrails more customizable and useful when used as a library. These changes are intended to be merged back in the main line of development someday.

feature-examples

Makes examples clickable in the users guide. Merged into 2.1.

fixes-module-flags

vistrails_module:Module objects have a lot of flags (ran, had_error, computed, upToDate, suspended). issue 766 is about documenting and fixing them.

for-module

Adds a For module, simpler version of Map that doesn't use an input list. See issue 282.

job-info

Work in progress, Extends support for running remote jobs.

  • Save state to disk DONE
  • Run from command line DONE

logger-rewrite

Right now the logger has special cases to detect modules that trigger a nested execution, such as Group, Map, and While. It then pushes these special module's execution to an interpreter-global stack, which is incompatible with multithreaded-interpreter.

This branches attempts to make this both more natural (and extensible), and compatible with multithreaded-interpreter.

See issue 774

madagascar

Contains a package wrapping madagascar. Basic modules are working but more work is needed.

matplotlib-figure-creation

Attempt at fixing issue 685, which makes matplotlib incompatible with the multithreaded-interpreter work.

multiline-unicode-strings

Went further than multiline-strings by trying to make VisTrails unicode-safe. This means eliminating bytestrings from the code where unicode strings were meant (PyQt4 already uses unicode). Work in progress.

See issue 673.

multithreaded-interpreter

This changes the interpreter part of VisTrails to use a task system instead of relying on each module running its upstream counterparts recursively. It allows the use of multithreading at the module level (i.e. running different modules in parallel) and provides this via different schemes. The branch has schemes for threading and multiprocessing (through concurrent.futures) as well as IPython (which replaces the ParallelFlow package).

This is a legacy branch that is still relevant and functional, but is superseeded by multithreaded-interpreter-target-selection which provides more options.

More information is available on its specific page: multithreaded-interpreter.

multithreaded-interpreter-target-selection

It's a variant of the previous branch that changes the way schemes work. There can be different instances of each scheme (named targets), configured by the user, and each module can be assigned to a specific target, allowing fine-grained control of where each module should execute.

It also revamps the XML log and adds an XML configuration file for remote execution.

multithreaded-interpreter-responsive

This brings in background-interpreter, except that it works. The interpreter runs in a different thread, although modules that don't use the @parallelizable decorator will be run synchronously on the UI thread (thus blocking the UI for a time).

See issue 701.

It is probably required for further work in stopping/resuming workflows, but is a bit complex.

new-matplotlib-pkg

New 'matplotlib' package, that replaces 'pylab'. Has been merged in v2.1 and released. The branch is still used by Sunitha Menon who is making more examples.

parameter-configuration-api

Improves the widgets API to allow module developers to choose custom widgets for the ports of their modules (see issue 699).

Currently, it is only possible to provide a widget for a type (all ports of that type will have that widget) or to do limited configuration with entry_type. This branch makes it more extensible.

persistent_archive

Work on a new package to replace persistence.

See issue 755 and the file_archive tool.

pyside-compatibility

This branch aims at making VisTrails compatible with both PyQt4 and PySide. PySide currently crashes.

python3

Python 3 port of VisTrails. Work in progress.

See issue 674.

rename-api

Renames some methods from CamelCaseNames to python_style_names.

resume-suspended-pipelines

Changes the interpreter to not clean not-cacheable modules from the persisted pipeline if the execution was suspended. This means that the next execution will resume close to where the last one stopped.

Obviously doesn't work across sessions.

rewrite-startup

Rewrites the startup logic (configuration and command-line option parsing).

testsuite-tempdir

Fixes the test suite to use a different temporary directory (so it can clean leaked temporary files) and dotvistrails (in order not to alter the user's configuration).

See issue 732

tuple-fixes

Removes the Tuple type and accept tuples in TupleToList. See issue 224.

use-uuid

Use UUIDs for identifiers instead of incrementing integers. This would make things like merging vistrails or dealing with distributed versions of the same vistrail much easier (e.g. crowdLabs, subworkflows).

See ticket 355

Unknown branches (fixme?)

easy-install (2012-11-21)

Emanuele's branch trying to get easy-install to work on both user/system installations. We have now moved to using "pip" but some of this may still be relevant.

fernando (2010-03-28)

improve-vt-bundle

sahm-mac

sql-alchemy

v2.0-prov

v2.0-with-layout (2012-08-22)

To be deleted?

  • persistence-fix-directories: merged/rebased
  • dat-fixes: early changes for DAT, superseded by branch dat
  • fix-system: merged
  • http_directory: merged
  • support-spawned-vistrails: superseded by spawned-vistrails
  • catch-pkg-exceptions: merged (issue 767)
  • controlflow-lists: merged (improvements to controlflow pkg and List module)
  • dont_stop_on_first_error: merged (adds an option to execute the other sinks after a module error)
  • import-rewrite: merged (rewrites the import override mechanism)
  • optimize-module: merged (While module)
  • while-module-2.0: merged (integration branch for optimize-module in v2.0)
  • parallelflow-no-set: merged (rewrites the parallelflow cluster management logic)
  • refactor-remove-unused-modules: merged (removes some dead code)
  • refactor-add-vistrails-prefix: merged (adds 'vistrails.' top-level package)
  • replace-tabs: merged (replaces all tabs with spaces and fixes indentation)
  • run-this-module: merged (adds an option to run a single module (and its upstream))
  • spreadsheet-resizing: merged (better resizing logic: doesn't reset all cell sizes to default)
  • tempfiles: merged (fixes the use of temporary files)
  • tests: merged (betters the 'runtestsuite' mechanism, add pipeline-running utils)
  • linux-file-association: rebased (adds to set VisTrails as handler for .vt files, issue 761)
  • install-package-requirements: merged (allows bundle installation from package_requirements(), issue 694)
  • catch-pkg-exceptions: merged (catch some more exceptions raised by package code, issue 767)
  • fix-controlflow-cache-corruption: merged (cache corruption when using controlflow structures, issue 777)
  • install_package_requirements: merged (allow package_requirements() to install missing requirements, issue 694)
  • non-english-locale: merged (fixes VisTrails failing on non-English locales because of string formatting/parsing functions (strftime and strptime))
  • spawned-vistrails: merged (fixes for running sub-instances of VisTrails, e.g. via multiprocessing or remote execution schemes, issue 702)
  • cacheable-controlflow: merged (makes the controlflow/parallelflow modules cacheable again, issue 778)
  • disable-thumbnail-test-old-vtk: merged (disables the "strict" thumbnail comparison if using an old version of VTK, issue 764)
  • machine-wf-exec: merged in logger-rewrite (adds back the Machine in the provenance log, issue 285)
  • raise-modulesuspended: merged in logger-rewrite (replaces the Module.suspended mechanism with proper exception-raising)
  • remove-persistence_exp: merged (removes the persistence_exp package, issue 703)
  • improves-module-doc: merged (allows dynamic module documentation, issue 426)
  • fix-focuschanged-bug: merged (short-circuits applicationFocusChanged() on quit, issue 570)

tags:

  • v2.1beta: this is not the beta

Related projects

These are projects part of the VisTrails effort that we are working on, but that are not technically a part of the VisTrails repository.

DAT

The Data Analysis Tool is inspired by UV-CDAT. It has a similar interface meant to create visualizations from Plots and Variables connected together by drag and drop, generating the VisTrails workflows on-the-fly. It lives in vgc.poly.edu:src/dat.git. The changes it requires on VisTrails have not been fully merged in and are in the dat branch.

file_archive

This is a file store with metadata that is meant to replace Git as the backend of the persistence package. It is developed as a stand-alone tool and library, allowing to search for and get files that were generated from VisTrails without having to go through its UI. An initial design document is on the Archive page.

See the Github project, issue 755 and branch persistent_archive.