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.1.0.tar.gz (45.5 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.1.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dagreon-0.1.0.tar.gz
Algorithm Hash digest
SHA256 72ccd60370b5a5dc171df1a61483f45955cce93a5b640ec64a57d0872b43b684
MD5 d0f5284ad2fd2763ec692d0d18da39d9
BLAKE2b-256 08f58014e77a53d0dd2064e7027c873ed891b68753de5697f6ed6fa287764f3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dagreon-0.1.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.1.0-py3-none-any.whl.

File metadata

  • Download URL: dagreon-0.1.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 196e2b2667b0dcd5ca4db33fd99fdaa00865ec2e20e055e026328a1640327742
MD5 72b73209b2da8637aa7fda7611d9f0a4
BLAKE2b-256 44fe2da2dc5bc32c8141172ba936067b99aa1ad9ea66a3aca91affd8f92d2829

See more details on using hashes here.

Provenance

The following attestation bundles were made for dagreon-0.1.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