Releases

0.20.2

  • Import builtin in main flow import

0.20.1

  • Bump version of rich

0.20.0

Additions

  • Builtin steps for fs - dir_exists - file_exists - ensure_dir - ensure_parent_dir - TempWorkspace

  • Builtin steps for counters - increment - decrement

Changes

  • Add an and_finally method to TryExcept

0.19.0

Additions

  • Add SetGlobalVar to set variables current and parent scopes.

0.18.0

Additions

  • Add default_vars option to Workflows to apply default values if one is not already provided.

0.17.0

Additions

  • Add required_vars option to Workflows to ensure that required variables are set before the workflow is executed.

  • Integrate required_vars into CLI.

  • Add sensitive filter when outputting variables in flow-trace

0.16.0

Additions

  • Add and_finally option to the Group (and derived) nodes. This provides a way to execute nodes to clean up after a workflow has completed successfully or an exception was raised.

Changes

  • testing.call_node now accepts a workflow context. This allows for inspection of the context if an exception is raised.

  • Fix the inheritance of exceptions. All RunTime exceptions are now based off of WorkflowRuntimeError.

  • TryExcept now resolves nodes called after an exception taking subclasses into account. This matches the behaviour of Python itself.

0.15.0

Additions

  • Add TryExcept node to handle errors in a workflow.

Changes

  • ForEach node now shows each loop and allows for custom labels for each loop.

  • Improve indentation of workflow output.

0.14.0

Additions

  • Add FeatureEnabled node to enable/disable a feature based on a PyApp feature-flag.

0.13.0

Additions

  • Add Group. A group is a set of nodes that are executed but do not get placed in a new variable scope. Useful for building blocks of nodes.

  • Group also includes an option to change the log_level for the duration of the group being executed.

  • Fatal step has been added to trigger a fatal exception to stop the workflow.

Changes

  • Nodes now inherits from Group and includes the log_level option.

0.12.0

Additions

  • Add TryUntil node for trying multiple nodes until one succeeds.

Changes

  • Add log-level helpers

  • Include that flowfile.py is located on in the workflow context.

  • Use var name to reference workflow from CLI.

  • Fetch version from package info.

  • Added tracing support to aid in debugging workflows.

  • Add flowfile.py support for execution of workflows in a repository.

0.11.0

Changes

  • Format output of Workflow name to format from the context.

  • Added a skip_step function, that allows a step to be skipped. This is based off an exception that is handled by the Step class wrapping the function.

0.10.0

Changes

  • Support pyApp constructs

0.9.0

Changes

  • Define a Node protocol

  • CaptureErrors node can now specify specific exception types

  • Early version of parallel nodes (using multiprocessing), this version has some caveats relating to what can be passed into a parallel execution.

0.8.0

Changes

  • WorkflowContext.state variables can now be accessed as attributes

  • Add Navigable ABC to all workflow items to aid in documentation

Sphinx Extension

  • Workflow documentor can now generate the workflow node tree

0.7.0

Changes

  • SetVar can be passed a callable that accepts a context

Sphinx Extension

  • Step autodoc will now:

    • Add noname option to stop name being included in step and workflow

    • Hide input section if there are no inputs

    • Hide output section if there are no outputs

    • Only pluralise output if there are multiple outputs

0.6.0

This release brings the library rapidly toward a 1.0 release solidifying the API and approach to the API design.

Breaking Changes

  • Simplified API and removed most snake case aliases, removed aliases from Workflow object.

  • Removed init arguments from all Nodes in favour of fluent style methods.

Changes

  • Add Sphinx extension for documentation workflow (this is only partial does not document steps yet)

  • More tests

  • Reference documentation

0.5.0

Changes

  • Fix bug where local args are being included in step input kwargs

  • Add Sphinx extension for documentation steps

0.1.0

Initial alpha release