Python implementation of ERIS https://eris.codeberg.page/python-eris/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
pukkamustard e71d796cfb
docs: Add acknowledgments.
2 months ago
.reuse Initial commit 1 year ago
LICENSES Relicense as AGPL+ 3 months ago
docs docs: Add acknowledgments. 2 months ago
eris eris.coap: Documentation. 2 months ago
examples examples: Add encode_file.py 2 months ago
tests *: run python-black. 2 months ago
.gitignore docs: Initial sphinx documentation. 2 months ago
COPYING *: LGPL -> AGPL 3 months ago
README.md docs: Add acknowledgments. 2 months ago
guix.scm docs: Initial sphinx documentation. 2 months ago
pyproject.toml Add tooling to publish to PyPi 6 months ago
setup.py setup.py: bump version to 1.0.0. 2 months ago

README.md

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