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 indexedZSetPythonunder the hood. - Skip out the middle man with
Groupedand just use an indexedZSet? Does this lead to performance benefits inst.group? - Instead of
create_tables=Truecan we emit SQL and write it. - Revisit
st.compile(...). - Can
run.iterationmake nicer error messages? - Python 3.12. Use built in
batched. Can we use the newUnpacksyntax for nicer action types? - Look at 11.8 "Window aggregates"
- Replace
integrate_delaywith a nice transform. Similarly, transform shared delays. - Decide whether to make
...SQLclasses 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
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
stepping-0.0.3-py3-none-any.whl
(49.1 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb0599da474a8a5aaa33660743ae9e7763110df8ab77d42ea8d96c66202fcd69
|
|
| MD5 |
48fb2f43d98c71e82f106f5695a2ffec
|
|
| BLAKE2b-256 |
8217db8d852631883768cf731f48ef1c6290990ede3c44a9a20feac43477b71b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc41932a392c4c7498b2793697185db3176fff8ded374f772e7a114ede30361b
|
|
| MD5 |
8a56a8f5957738576c9b9dacd89a6d4b
|
|
| BLAKE2b-256 |
43069e7d3d3c039937f9f1de549bf9ad42b8e2013d3d2af04246a01332930c77
|