Skip to main content

Library for Verifiable Credentials and Decentralized Identifiers.

Project description

PyPI version

Check out the DIDKit documentation here.

DIDKit Python

DIDKit provides Verifiable Credential and Decentralized Identifier functionality across different platforms. It was written primarily in Rust due to Rust's expressive type system, memory safety, simple dependency web, and suitability across different platforms including embedded systems. DIDKit embeds the ssi library, which contains the core functionality.

Installation and Usage

DIDKit is available on PyPI.

You can install it globally with:

$ pip install -U didkit

asyncio is required, meaning you will need Python 3.7 or above.

Build from Source

$ maturin build

You can install maturin with pip install maturin.

Now the wheel should be in the target directory.

Custom Builds

To enable or disable certain features of DIDKit, or use different cryptography backends, you will need edit the Cargo.toml.

Development

When adding a function or changing the signature of an existing one, make sure to reflect the changes in the stub file. This is important for static analysis and IDE support. (This will be automated in the future.)

Test

poetry install
poetry run maturin develop
poetry run pytest

Migration

0.2 to 0.3

Functions have kept the same signatures, but some have become asynchronous. You will need to start using asyncio if it is not already the case.

Maturity Disclaimer

Please note: this readme documents an early-stage open-source product ported manually to python, and we are still incorporating feedback from our first comprehensive third-party code audit. These artefacts are presented as functional "betas" for experimentation and to show the direction of the project (inviting proposals for changes of direction, even!). They are not, however, intended for transacting real-world business yet.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

didkit-0.3.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

didkit-0.3.3-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (9.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

didkit-0.3.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

didkit-0.3.3-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (9.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

didkit-0.3.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (8.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

didkit-0.3.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

didkit-0.3.3-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (8.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

didkit-0.3.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

didkit-0.3.3-pp37-pypy37_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (8.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

didkit-0.3.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

didkit-0.3.3-cp312-none-win_amd64.whl (6.2 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

didkit-0.3.3-cp312-none-win32.whl (5.8 MB view hashes)

Uploaded CPython 3.12 Windows x86

didkit-0.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

didkit-0.3.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (9.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

didkit-0.3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.5 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

didkit-0.3.3-cp312-cp312-macosx_11_0_arm64.whl (6.6 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

didkit-0.3.3-cp312-cp312-macosx_10_12_x86_64.whl (6.8 MB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

didkit-0.3.3-cp311-none-win_amd64.whl (6.2 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

didkit-0.3.3-cp311-none-win32.whl (5.8 MB view hashes)

Uploaded CPython 3.11 Windows x86

didkit-0.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

didkit-0.3.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (9.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

didkit-0.3.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (8.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

didkit-0.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

didkit-0.3.3-cp311-cp311-macosx_11_0_arm64.whl (6.6 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

didkit-0.3.3-cp311-cp311-macosx_10_12_x86_64.whl (6.8 MB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

didkit-0.3.3-cp310-none-win_amd64.whl (6.2 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

didkit-0.3.3-cp310-none-win32.whl (5.8 MB view hashes)

Uploaded CPython 3.10 Windows x86

didkit-0.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

didkit-0.3.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (9.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

didkit-0.3.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (8.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

didkit-0.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

didkit-0.3.3-cp310-cp310-macosx_11_0_arm64.whl (6.6 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

didkit-0.3.3-cp310-cp310-macosx_10_12_x86_64.whl (6.8 MB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

didkit-0.3.3-cp39-none-win_amd64.whl (6.2 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

didkit-0.3.3-cp39-none-win32.whl (5.8 MB view hashes)

Uploaded CPython 3.9 Windows x86

didkit-0.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

didkit-0.3.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (9.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

didkit-0.3.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (8.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

didkit-0.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

didkit-0.3.3-cp39-cp39-macosx_11_0_arm64.whl (6.6 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

didkit-0.3.3-cp39-cp39-macosx_10_12_x86_64.whl (6.8 MB view hashes)

Uploaded CPython 3.9 macOS 10.12+ x86-64

didkit-0.3.3-cp38-none-win_amd64.whl (6.2 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

didkit-0.3.3-cp38-none-win32.whl (5.8 MB view hashes)

Uploaded CPython 3.8 Windows x86

didkit-0.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

didkit-0.3.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (9.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

didkit-0.3.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (8.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

didkit-0.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

didkit-0.3.3-cp37-none-win_amd64.whl (6.2 MB view hashes)

Uploaded CPython 3.7 Windows x86-64

didkit-0.3.3-cp37-none-win32.whl (5.8 MB view hashes)

Uploaded CPython 3.7 Windows x86

didkit-0.3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

didkit-0.3.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (9.3 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

didkit-0.3.3-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (8.2 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARMv7l

didkit-0.3.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page