Skip to main content

This repository includes Python libraries for working with `did:webvh` (did:web + Verified History) DID documents and the underlying log format.

Project description

DID Web + Verified History - Python

This repository includes Python libraries for working with did:webvh (did:web + Verified History) DID documents and the underlying log format. Methods are provided for provisioning and updating DID documents as well as a resolving existing did:webvh DIDs. Currently, version 0.4 of the specification is implemented.

Prerequisites

This library requires Python 3.10 or later. Dependencies are listed in pyproject.toml and can be installed via:

poetry install

Usage

A new did:webvh DID can be minted using the provision command. This will create a new Askar keystore for handling the signing key.

python3 -m did_webvh.provision --auto "domain.example"

This will output a new directory named after the new DID, containing did.jsonl (the DID log) and did.json (the current state of the document).

To automatically update the DID, edit did.json and execute the update command (use the identifier output from the provision command):

python3 -m did_webvh.update --auto "did:webvh:QmRwq46VkGuCEx4dyYxxexmig7Fwbqbm9AB73iKUAHjMZH:domain.example"

DID Resolution

The resolver script may be invoked via the command line, and supports dereferencing of fragments and paths:

python3 -m did_webvh.resolver "did:webvh:QmRwq46VkGuCEx4dyYxxexmig7Fwbqbm9AB73iKUAHjMZH:domain.example"
python3 -m did_webvh.resolver "did:webvh:QmRwq46VkGuCEx4dyYxxexmig7Fwbqbm9AB73iKUAHjMZH:domain.example#key-1"
python3 -m did_webvh.resolver "did:webvh:QmRwq46VkGuCEx4dyYxxexmig7Fwbqbm9AB73iKUAHjMZH:domain.example/whois.vp"

For testing, this script also accepts the path to the local DID history file:

python3 -m did_webvh.resolver -f did.jsonl "did:webvh:QmRwq46VkGuCEx4dyYxxexmig7Fwbqbm9AB73iKUAHjMZH:domain.example"

Demo

For demo purposes, a new DID can be minted along with a series of test updates applied using the included demo script:

python3 demo.py domain.example

Contributing

Pull requests are welcome! Please read our contributions guide and submit your PRs. We enforce developer certificate of origin (DCO) commit signing — guidance on this is available. We also welcome issues submitted about problems you encounter in using Trust DID Web - Python.

License

Apache License Version 2.0

Project details


Download files

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

Source Distribution

did_webvh-1.0.0rc0.tar.gz (36.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

did_webvh-1.0.0rc0-py3-none-any.whl (48.0 kB view details)

Uploaded Python 3

File details

Details for the file did_webvh-1.0.0rc0.tar.gz.

File metadata

  • Download URL: did_webvh-1.0.0rc0.tar.gz
  • Upload date:
  • Size: 36.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for did_webvh-1.0.0rc0.tar.gz
Algorithm Hash digest
SHA256 bd8f115485ad24dffa9c333a87b09b9d7eb648ec5ed85d1c6d64bff180b73e00
MD5 bf52a5489182280f6a5bb080b1fced55
BLAKE2b-256 b757584967fa7d690cfc2059a9dfa9969c8a147a0558165b9aea66a9a872da74

See more details on using hashes here.

Provenance

The following attestation bundles were made for did_webvh-1.0.0rc0.tar.gz:

Publisher: publish-pypi.yml on decentralized-identity/didwebvh-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file did_webvh-1.0.0rc0-py3-none-any.whl.

File metadata

  • Download URL: did_webvh-1.0.0rc0-py3-none-any.whl
  • Upload date:
  • Size: 48.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for did_webvh-1.0.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 10d9cf497fb6f263ec1f9572c7ba5732786384501d977f214afce39a2af86a25
MD5 5e80d95a5d049b30ab9343729d4797eb
BLAKE2b-256 a8fc00f6b63bb622c3107ea4d87cedac61fdef465a76a281533f6b769ebe1885

See more details on using hashes here.

Provenance

The following attestation bundles were made for did_webvh-1.0.0rc0-py3-none-any.whl:

Publisher: publish-pypi.yml on decentralized-identity/didwebvh-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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