Skip to main content

Caching Workflow Engine

Project description

CacheFlow is a caching workflow engine, capable of executing dataflows while reusing previous results where appropriate, for efficiency. It is very extensible and can be used in many projects.

Goals

  • ☑ Python 3 workflow system

  • ☑ Executes dataflows from JSON files

  • ☐ Can also load from SQL database

  • ☐ Parallel execution

  • ☐ Streaming

  • ☑ Extensible: can add new modules, new storage formats, new caching mechanism, new executors

  • ☐ Pluggable: extensions can be installed from PyPI without forking

  • ☑ Re-usable: can execute workflows by itself, but can also be embedded into applications. Some I plan on developing myself:

    • Literate programming app: snippets or modules embedded into a markdown file, which are executed on render (similar to Rmarkdown). Results would be cached, making later rendering fast

    • Integrate in some of my NYU research projects (VisTrails Vizier, D3M)

Other ideas:

  • ☐ Use Jupyter kernels as backends to execute code (giving me quick access to all the languages they support)

  • ☐ Isolate script execution (to run untrusted Python/… code, for example with Docker)

Non-goals

  • Make a super-scalable and fast workflow execution engine: I’d rather make executors based on Spark, Dask, Ray than re-implement those

Status

Basic structures are here, extracted from D3M. Execution works.

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

cacheflow-0.1.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

cacheflow-0.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file cacheflow-0.1.tar.gz.

File metadata

  • Download URL: cacheflow-0.1.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cacheflow-0.1.tar.gz
Algorithm Hash digest
SHA256 43b3afe5838d673fd8d31c6685c49e357c40caed30833a9de065fde0db35547b
MD5 c19e03d2c94df0dda6abbc07b80ebd3c
BLAKE2b-256 b164440a5c17f74c42f96d9e2f5a336ac72aef947cadd08d75ebde9d2172fec9

See more details on using hashes here.

File details

Details for the file cacheflow-0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cacheflow-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c5ebf0c8418c708d9e463a6986266b835dc70eec1771f8e25aedbddfa0e1db66
MD5 599e1f84b7f02a4e66b3692d8b87c857
BLAKE2b-256 2aebf8e3c8f26f321e6b41310b9e1750b71278c41c135cd80ec66d6870081412

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