Skip to main content

A lazy data processing pipeline framework

Project description

LazyDAG

LazyDAG is a python framework that manages a pipeline for data processing. The focus is on incremental data processing and reactive execution. That means, if an input asset consists of multiple entries and one of them changes, the process can only recompute the changed entry.

Features

  • ObjectCollection: Managed data storage with incremental updates and filesystem persistence.
  • Process: Units of computation that react to changes in input collections.
  • Lazy/Reactive Execution: Processes run only when their inputs change.
  • Daemons: Background processes that continuously feed data into the pipeline.

Usage

from lazydag.schematic import define_process, define_collection
from lazydag.collections import ListObjectCollection
from lazydag.core import Process
from lazydag.scheduler import get_runtime

# Define your collections
oc1 = define_collection(ListObjectCollection, name="Numbers", save_path="./data/nums")
oc2 = define_collection(ListObjectCollection, name="Results", save_path="./data/results")

# Define your processes
class MyProcess(Process):
    inputs = ["nums"]
    outputs = ["results"]
    def run(self, nums: ListObjectCollection, results: ListObjectCollection):
        # ... logic ...
        pass

define_process(MyProcess, "my_proc", inputs={"nums": oc1}, outputs={"results": oc2})

# Start the scheduler
get_runtime().start()

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

lazydag-0.2.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

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

lazydag-0.2.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lazydag-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2e830665247385aea5ae6f457ad41e6375a86ff48251fd1ec2273cf821f02c62
MD5 24038339fee6b5459061c683459d2bf3
BLAKE2b-256 fdd5aac1e45fb0397360c6349a049192b0f21658c2b4a0d29e87da6ad637bd91

See more details on using hashes here.

Provenance

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

Publisher: python-publish.yml on MaGaroo/lazydag

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

File details

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

File metadata

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

File hashes

Hashes for lazydag-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 367c7acc38fe64ffba6f0e15261fc067d77ef69597357e8dd8a8c35b554fb4b5
MD5 a280700be4c9ee0af6fea7816c14c506
BLAKE2b-256 c70a2a96b44ef70b70ed23110067db181e5882fa7a48a4512b25fd1dac744576

See more details on using hashes here.

Provenance

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

Publisher: python-publish.yml on MaGaroo/lazydag

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