Skip to main content

A flexible DAG workflow library for researchers, with persistent results and easy parallel execution.

Project description

Dagreon

Dagreon is a flexible DAG workflow library for researchers, with persistent results and easy parallel execution.

It lets you define typed task classes, connect them through Python 3.12 type aliases, and compute only the dependencies required for a requested result.

from dagreon import Workflow, task

type Samples = list[float]
type Mean = float


@task
class LoadSamples:
    values: tuple[float, ...]

    def __call__(self) -> Samples:
        return list(self.values)


@task
class ComputeMean:
    def __call__(self, samples: Samples) -> Mean:
        return sum(samples) / len(samples)


workflow = Workflow([
    LoadSamples(values=(1.0, 2.0, 3.0)),
    ComputeMean(),
])

result = workflow.run(Mean)

Features

  • Typed task graphs built from Python 3.12 type aliases.
  • Target-driven execution of only the subgraph needed for a result.
  • Per-run task overrides for variants and experiments.
  • Optional LMDB-backed result persistence for final requested targets.
  • Optional Ray execution through pip install dagreon[ray].
  • Progress bars for variant runs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dagreon-0.2.0.tar.gz (45.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dagreon-0.2.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file dagreon-0.2.0.tar.gz.

File metadata

  • Download URL: dagreon-0.2.0.tar.gz
  • Upload date:
  • Size: 45.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dagreon-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d563c496fbe4ff954e0d6f4ef7396e6fac07875475417e342163505fc3404090
MD5 b80e85d7e8bc443a2beacb3859e95742
BLAKE2b-256 5b8518b296c2ef087b768130d0008d7a6651af75d55cb46918b364061f1247ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for dagreon-0.2.0.tar.gz:

Publisher: python-publish.yml on LPSchulz/dagreon

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dagreon-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dagreon-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dagreon-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b004c3b5dee984a2ef6f7ec2fcade26273bc1529d5d052b3fe3edd9d9fa46783
MD5 722efc794ff0efb0216568972b180f54
BLAKE2b-256 32f41d306d5ecc26033bf8b55f77ca746b778b895027345b3ad5f95eb45e566c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dagreon-0.2.0-py3-none-any.whl:

Publisher: python-publish.yml on LPSchulz/dagreon

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page