Skip to main content

Yet another redundant workflow engine.

Project description

redun aims to be a more expressive and efficient workflow framework, built on top of the popular Python programming language. It takes the somewhat contrarian view that writing dataflows directly is unnecessarily restrictive, and by doing so we lose abstractions we have come to rely on in most modern high-level languages (control flow, compositiblity, recursion, high order functions, etc). redun’s key insight is that workflows can be expressed as lazy expressions, that are then evaluated by a scheduler which performs automatic parallelization, caching, and data provenance logging.

redun’s key features are:

  • Workflows are defined by lazy expressions that when evaluated emit dynamic directed acyclic graphs (DAGs), enabling complex data flows.

  • Incremental computation that is reactive to both data changes as well as code changes.

  • Workflow tasks can be executed on a variety of compute backend (threads, processes, AWS batch jobs, Spark jobs, etc).

  • Data changes are detected for in memory values as well as external data sources such as files and object stores using file hashing.

  • Code changes are detected by hashing individual Python functions and comparing against historical call graph recordings.

  • Past intermediate results are cached centrally and reused across workflows.

  • Past call graphs can be used as a data lineage record and can be queried for debugging and auditing.

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

redun-0.17.0.tar.gz (376.0 kB view details)

Uploaded Source

File details

Details for the file redun-0.17.0.tar.gz.

File metadata

  • Download URL: redun-0.17.0.tar.gz
  • Upload date:
  • Size: 376.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.5

File hashes

Hashes for redun-0.17.0.tar.gz
Algorithm Hash digest
SHA256 d4a6f5434ef528aced8774e4dd117d167e73fbe860bf109d67964124650b0d9b
MD5 11c224f938cd027ba4a3caa9ffc2738b
BLAKE2b-256 de0fe1f1a3b78a542590b0e2d611d179a7304b7e4db90ebca5c5d233300f0a4c

See more details on using hashes here.

Supported by

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