Skip to main content

Incremental View Maintenance for Python backends

Project description

stepping

Based on the paper: DBSP: Automatic Incremental View Maintenance for Rich Query Languages.

📚 Documentation 📚

Installation

pip install stepping

Development installation

git clone git@github.com:leontrolski/stepping.git
python -m venv .env
source .env/bin/activate
pip install -e '.[dev]'
pytest
mypy src tests

Nice-to-haves

  • In interleave_changes, use indexed ZSetPython under the hood.
  • Skip out the middle man with Grouped and just use an indexed ZSet? Does this lead to performance benefits in st.group?
  • Instead of create_tables=True can we emit SQL and write it.
  • Revisit st.compile(...).
  • Can run.iteration make nicer error messages?
  • Python 3.12. Use built in batched. Can we use the new Unpack syntax for nicer action types?
  • Look at 11.8 "Window aggregates"
  • Replace integrate_delay with a nice transform. Similarly, transform shared delays.
  • Decide whether to make ...SQL classes protocols.
  • Test arbitrary depth grouped nesting and joining in a grouped setting (Does this even make sense to do?).

Uploading to Pypi

# bump version
python -m pip install build twine
python -m build
twine check dist/*
twine upload dist/*

Deploy docs

flyctl launch
flyctl deploy
flyctl ips list -a stepping-docs
# set A record to @, IPv4
# set AAAA record to @, IPv6
flyctl certs create -a stepping-docs stepping.site

cd docs/doks
npm install
npm run start
npm run build
cd ..; flyctl deploy; cd -

cd docs
python ../scripts/md.py ../ $(find -L ../docs-md -name '**.md')

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

stepping-0.0.3.tar.gz (49.6 kB view details)

Uploaded Source

Built Distribution

stepping-0.0.3-py3-none-any.whl (49.1 kB view details)

Uploaded Python 3

File details

Details for the file stepping-0.0.3.tar.gz.

File metadata

  • Download URL: stepping-0.0.3.tar.gz
  • Upload date:
  • Size: 49.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for stepping-0.0.3.tar.gz
Algorithm Hash digest
SHA256 cb0599da474a8a5aaa33660743ae9e7763110df8ab77d42ea8d96c66202fcd69
MD5 48fb2f43d98c71e82f106f5695a2ffec
BLAKE2b-256 8217db8d852631883768cf731f48ef1c6290990ede3c44a9a20feac43477b71b

See more details on using hashes here.

File details

Details for the file stepping-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: stepping-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 49.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for stepping-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cc41932a392c4c7498b2793697185db3176fff8ded374f772e7a114ede30361b
MD5 8a56a8f5957738576c9b9dacd89a6d4b
BLAKE2b-256 43069e7d3d3c039937f9f1de549bf9ad42b8e2013d3d2af04246a01332930c77

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