Skip to main content

A pure-python implementation of the database signal processing theory stream processing paradigm

Project description

PyDBSP

Introduction - (a subset of) Differential Dataflow for the masses

This library provides an implementation of the DBSP language for incremental streaming computation. It is a tool primarily meant for research. See it as the PyTorch of streaming.

It has zero dependencies, and is written in pure python.

Here you can find a single-notebook implementation of almost everything in the DBSP paper. It mirrors what is in this library in an accessible way, and with more examples.

What is DBSP?

DBSP is differential dataflow's less expressive successor. It is a competing theory and framework to other stream processing systems such as Flink and Spark.

Its value is most easily understood in that it is capable of transforming "batch" possibly-iterative relational queries into "streaming incremental ones". This however only conveys a fraction of the theory's power.

As an extreme example, you can find a incremental Interpreter for Datalog under pydbsp.algorithm. Datalog is a query language that is similar to SQL, with focus in efficiently supporting recursion. By implementing Datalog interpretation with dbsp, we get an interpreter whose queries can both change during runtime and respond to new data being streamed in.

Examples

Paper walkthroughs

Blogposts

Notebooks

Tests

There many examples living in each test/test_*.py file.

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

pydbsp-0.6.0.tar.gz (331.3 kB view details)

Uploaded Source

Built Distribution

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

pydbsp-0.6.0-py3-none-any.whl (340.4 kB view details)

Uploaded Python 3

File details

Details for the file pydbsp-0.6.0.tar.gz.

File metadata

  • Download URL: pydbsp-0.6.0.tar.gz
  • Upload date:
  • Size: 331.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.9 Darwin/24.2.0

File hashes

Hashes for pydbsp-0.6.0.tar.gz
Algorithm Hash digest
SHA256 9e0de0b745dd299709e0813f8d5ca0ca4e185c169123fecdc7fe50b34f70be9f
MD5 86e45181aa34aa67d3085785d84ad436
BLAKE2b-256 0277e48f1ba25829c7c06f5d4811b0d1eb56b9bf0fca8d3d24c6a348e74b3638

See more details on using hashes here.

File details

Details for the file pydbsp-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: pydbsp-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 340.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.9 Darwin/24.2.0

File hashes

Hashes for pydbsp-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 76d1d9d05882de8f1809018b0d6f3eae01e14adafec7c0195db9f6e44ff08275
MD5 b5d21484322181c85afc16cb5fa24fc6
BLAKE2b-256 729ee9280fb0bb1599d631cbedfbdceffc309b21fff7bd0e3f20dedf1a5936c1

See more details on using hashes here.

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