Coder Social home page Coder Social logo

didkit-python's Introduction

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.

didkit-python's People

Contributors

sbihel avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

didkit-python's Issues

Adding metadata to credential

How can I add metadata to a credential? If I try to add a field, I get: "didkit.DIDKitException: Expansion failed: Expansion failed: Key expansion failed"

Install from PyPI not working on macos arm64

When installing with pip3, the v0.3.0 release is not available:

ERROR: Could not find a version that satisfies the requirement didkit==0.3.0 (from versions: 0.0.1, 0.2.1)
ERROR: No matching distribution found for didkit==0.3.0

Signing arbitrary data

Is it possible to sign something using the DID's private key, without issuing verifiable credentials?

Expose context loader

Is there a way to add a custom context for the pypi package? In the documentation it mentions to go to the ssi repo and add a context there but not sure how to rebuild everything. Disclaimer: not familiar with rust-python bindings

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.