Python implementation of ERIS https://eris.codeberg.page/python-eris/
Find a file
2025-01-14 17:11:06 +05:30
.reuse Initial commit 2021-12-15 11:31:37 +01:00
docs docs: Add acknowledgments. 2023-01-15 18:19:23 +01:00
eris eris.coap: Documentation. 2023-01-15 15:31:35 +01:00
examples examples: Add cloud_storage.py 2023-08-03 09:02:54 +02:00
LICENSES Relicense as AGPL+ 2022-12-29 13:11:08 -06:00
tests Compress test vectors 2025-01-14 17:11:06 +05:30
.gitignore docs: Initial sphinx documentation. 2023-01-14 11:08:04 +01:00
COPYING *: LGPL -> AGPL 2023-01-05 21:17:09 +01:00
guix.scm examples: Add cloud_storage.py 2023-08-03 09:02:54 +02:00
pyproject.toml Add tooling to publish to PyPi 2022-09-26 20:09:40 +02:00
README.md docs: Add acknowledgments. 2023-01-15 18:19:23 +01:00
setup.py setup.py: bump version to 1.0.0. 2023-01-15 16:03:51 +01:00
shell.nix Add shell.nix 2025-01-14 17:11:06 +05:30

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.

License

AGPL-3.0-or-later