Releases: larribas/dagger
Releases · larribas/dagger
0.4.2 - 🩹
0.4.1 - ✨
0.4.0 - 🐔
0.3.0 - 🐔
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 - 🩹
0.2.0 - 🐤
Breaking changes
- Functions decorated with
dsl.task()
anddsl.DAG()
cannot be decorated withdsl.task
without the parenthesis anymore (#28 fixes #29). Previously, we managed to get bothdsl.task
anddsl.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:
0.1.1 - 🐥
0.1.0 - 🐣
This is the first release of Dagger (py-dagger
in the PyPI registry).
It includes the following features:
- Declarative definition of
DAG
s andTask
s. - Composition of DAGs inside of other DAGs.
- Inputs coming
FromParam(parent_param: str)
andFromNodeOutput(node: str, output: str)
. - Outputs retrieved directly
FromReturnValue
, or from a deepFromKey
orFromProperty
. - Built in
AsJSON
andAsPickle
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.