2byrds / keripy

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

Home Page:https://keripy.readthedocs.io/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

1.0.0

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.12.1+ 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.12.1 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

About

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

https://keripy.readthedocs.io/en/latest/

License:Apache License 2.0


Languages

Language:Python 95.1%Language:JSONiq 2.7%Language:Shell 2.1%Language:HTML 0.1%Language:Dockerfile 0.0%Language:jq 0.0%Language:Makefile 0.0%Language:JavaScript 0.0%