Python implementation of ERIS
https://eris.codeberg.page/python-eris/
- Python 93.7%
- Scheme 5.9%
- Nix 0.4%
| .reuse | Initial commit | |
| docs | docs: Add acknowledgments. | |
| eris | eris.coap: Documentation. | |
| examples | examples: Add cloud_storage.py | |
| LICENSES | Relicense as AGPL+ | |
| tests | Compress test vectors | |
| .gitignore | docs: Initial sphinx documentation. | |
| COPYING | *: LGPL -> AGPL | |
| guix.scm | examples: Add cloud_storage.py | |
| pyproject.toml | Add tooling to publish to PyPi | |
| README.md | docs: Add acknowledgments. | |
| setup.py | setup.py: bump version to 1.0.0. | |
| shell.nix | Add shell.nix | |
python-eris
This is a Python implementation of the Encoding for Robust Immutable Storage (ERIS).
Usage
import eris
import asyncio
async def main():
# create a store
store = eris.DictStore()
# encode content
encoder = eris.Encoder(eris.null_convergence_secret(), store, block_size = 1024)
await encoder.write(b'Hello world!')
read_capability = await encoder.close()
# decode content
decoder = eris.Decoder(store, read_capability)
decoded = await decoder.readall()
print(decoded)
asyncio.run(main())
See also the online documentation and the examples.
Development
Running Tests
python -m unittest tests/*.py
Building Documentation
make -C docs html
Publishing to PyPi
python -m build
python3 -m twine upload --repository pypi dist/*
Acknowledgments
Development of python-eris has been supported by the NLnet Foundation through the NGI Assure Fund.