Skip to content

Releases: larribas/dagger

0.4.2 - 🩹

30 Sep 16:55
c9ae0ef
Compare
Choose a tag to compare

Bug fixes:

  • [DSL] Fixed a bug that prevented us from building DAGs that depended on nested DAGs with multiple outputs. (#48)

0.4.1 - ✨

28 Sep 15:02
581eddd
Compare
Choose a tag to compare

Improvements:

  • Improved error handling and error messages when working with partitioned nodes and outputs (#46)

0.4.0 - 🐔

28 Sep 08:31
4246f1b
Compare
Choose a tag to compare

New features:

  • [DSL] Added support for functions receiving **kwargs (#45)
  • [Argo] Extended the runtime options to allow setting DAGTask keys (such as continueOn) (#44)

Bug fixes:

  • Fixed a bug that prevented the CLI runtime from moving output files when the output directory was in a different file system. (#43 fixes #42)

0.3.0 - 🐔

24 Sep 14:59
f72db46
Compare
Choose a tag to compare

Breaking changes ⚠️ :

  • The dagger.serializer.Serializer protocol has been modified to rely on I/O streams in order to guarantee a constant memory footprint (#41 fixes #34)
  • The dagger.runtime.local API has been changed to allow users to choose between returning deserialized outputs and storing serialized outputs in a directory specified in the local filesystem (#41)

Bug fixes:

  • Fixed a bug where outputs with more than 10 partitions would not be concatenated back in the same order as they were stored (#39)

0.2.1 - 🩹

14 Sep 09:50
ac625da
Compare
Choose a tag to compare

Bugs fixed:

  • [Argo] Removes a problem that made Argo manifests incompatible with versions <3.1 (#38 fixes #37)
  • [Argo] Manifests generated from windows now generate paths using forward slashes

0.2.0 - 🐤

14 Sep 07:52
4156c96
Compare
Choose a tag to compare

Breaking changes ⚠️ :

  • Functions decorated with dsl.task() and dsl.DAG() cannot be decorated with dsl.task without the parenthesis anymore (#28 fixes #29). Previously, we managed to get both dsl.task and dsl.task() working through a complex if conditional that broke the ability of some IDEs to properly understand the type system.

New features:

  • When specifying extra spec options for the Argo runtime, you can now override deeply nested keys and append elements to lists (#36 closes #33).

Bug fixes:

  • Fixed a bug that was causing non-consecutive uses of the same task in the DSL to be detected as a cyclic dependency (#32 fixes #31).

0.1.1 - 🐥

09 Sep 08:14
bc07ae9
Compare
Choose a tag to compare

This PR fixes 2 small bugs in our packaging system:

  • It sets the right value for dagger.__version__
  • It stops exposing some scripts meant for internal development.

0.1.0 - 🐣

06 Sep 20:40
e98558d
Compare
Choose a tag to compare

This is the first release of Dagger (py-daggerin the PyPI registry).

It includes the following features:

  • Declarative definition of DAGs and Tasks.
  • Composition of DAGs inside of other DAGs.
  • Inputs coming FromParam(parent_param: str) and FromNodeOutput(node: str, output: str).
  • Outputs retrieved directly FromReturnValue, or from a deep FromKey or FromProperty.
  • Built in AsJSON and AsPickle serializers. JSON is the default serializer for every input/output.
  • Imperative definition of DAGs via a Pythonic Domain-Specific Language (DSL).
  • Running DAGs/Tasks locally.
  • Running DAGs/Tasks from a Command-Line Interface (CLI).
  • Preparing DAGs to run on Argo Workflows, compiling the data structures to the YAML specs expected by Argo and doing all the heavy-lifting under the scenes.
  • Partitioning outputs and nodes to create dynamic parallelization and map-reduce patterns easily.

Moreover, the first version includes:

  • 99% test coverage.

  • A set of examples covering the most common patterns.
  • A comprehensive API reference via docstrings.