/keripy

Key Event Receipt Infrastructure - the spec and implementation of the KERI protocol

Primary LanguagePythonApache License 2.0Apache-2.0

Python Implementation of the KERI Core Libraries

Project Name: keripy

PyPi GitHub Actions codecov https://pypi.org/project/keri/ Documentation Status

Installation

Local installation - build from source

Once all dependencies are installed and working then run:

$ python3 -m pip install -e ./

Then you can run

$ kli version

to get a version string similar to the following:

0.6.7

Local installation - Docker build

Run make build-keri to build your docker image.

Then run docker run -it gleif/keri /bin/bash and you can run kli version from within the running container to play with KERIpy.

Dependencies

Binaries

python 3.10.4+ libsodium 1.0.18+

python packages

lmdb 0.98+ pysodium 0.7.5+ blake3 0.1.5+ msgpack 1.0.0+ simplejson 3.17.0+ cbor2 5.1.0+

$ pip3 install -U lmdb pysodium blake3 msgpack simplejson cbor2

or separately

$ pip3 install -U lmdb
$ pip3 install -U pysodium
$ pip3 install -U blake3
$ pip3 install -U msgpack
$ pip3 install -U simplejson
$ pip3 install -U cbor2

Development

Setup

  • Ensure Python 3.10.4 is present along with venv and dev header files;
  • Setup virtual environment: python3 -m venv keripy
  • Activate virtual environment: source keripy/bin/activate
  • Setup dependencies: pip install -r requirements.txt

Testing

  • Install pytest: pip install pytest

  • Run the test suites:

pytest tests/ --ignore tests/demo/
pytest tests/demo/

Building Documentation in /docs

  • Install sphinx:
    • $ pip install sphinx
    • $ pip install myst-parser
  • Build with Sphinx in /docs:
    • $ make html