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.3.0.tar.gz (8.5 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.3.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lazydag-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a020e4eac5bd2286f1ba258538847475a7ec59d37b833f7cd8444eec371c9e73
MD5 4ffa51f2578d93bb188354f56329411c
BLAKE2b-256 082442560310aae2187bbc8a233b91481a996ccfd3bbd000bf9562c30b96cd55

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazydag-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: lazydag-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 12.9 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3f4b6449f0943b1d61dc5caf5378ad53a610a4135524a9f3e191eba6cdda3baa
MD5 344e1fc96b2f2ea29ea0cd48442916f4
BLAKE2b-256 050cebabe0807f4bd615f304cb245bf95a900c91c674cc6fff1b4bf070c6d4dd

See more details on using hashes here.

Provenance

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