Skip to content

version 0.1-alpha

Choose a tag to compare

@jfathi jfathi released this 03 Jun 21:08
· 23 commits to main since this release

Initial release - first major upgrades since 2022:

Conditional Edges: DAGs can now continue execution along a node-path in case of a parent node's failure! Edge conditions are documented as in the enum webber.Condition, as OnSuccess, OnFailure, or AnyCase. Default edge condition is OnSuccess.

Retry and Skip: Nodes can now be re-executed multiple times in case of failure, or skipped over entirely. Currently, skips are registered as a successful node execution.

Trace Exceptions: Trace printouts disabled by default, can be enabled at DAG execution time: DAG.execute(print_exc=True)

Other Improvements:

  • Use UUID4 to limit repeating GUIDs.
  • Complex xcoms deprecated in favor of Promise model.

Known bugs and Gaps:

  • STDOUT logging is not guaranteed to correlate to correct node at 3+ concurrent operations.
  • Visualizations for Jupyter Notebooks are largely unsupported at this time.

Under Development:

  • Additional documentation, visualization improvements forthcoming in v0.1.1
  • Critical Node Paths: DAGs can be reduced to a set of specified nodes and their dependencies.

Project Backlog:

  • Support for Jupyter Notebook visualizations
  • Get/Update Functions for Nodes and Edges
  • Edge and Node filtering with Lambda Functions (e.g.: lambda e: e.Condition == condition.OnSuccess).

Actively seeking support! Reach out to @jfathi. {:)