Skip to main content

Build Status Coverage Status License: MIT Code style: black

py-factom-did

py-factom-did is a Python library for working with DIDs on the Factom blockchain. It is an implementation of the Factom DID method specification and consists of two main modules: factom_did.client and factom_did.resolver.

The client module enables:

  • creation of a new DID
  • addition of management key(s) for the DID
  • addition of DID key(s) for the DID
  • addition of service(s) for the DID
  • export of public metadata to be recorded on Factom
  • encryption of the newly created keys
  • update of an existing DID: adding/revoking management keys, DID keys and services and producing a signed DID update entry
  • upgrade of the method version of an existing DID
  • deactivaiton of an existing DID

The resolver module contains a pure-data library for re-constructing the effective DID Document from a list of DID entries. It is a complete implementation of the resolver specification in https://github.com/bi-foundation/FIS/blob/feature/DID/FIS/DID.md and contains an extensive unit test suite with 100% test coverage.

Examples

You can find an example of the library workflow in the examples/ directory. In order to run the example, please note that it is necessary to:

  • have local instances of factomd and factom-walletd running
  • create an environment variable called EC_ADDR, which contains a funded EC address to pay the fees for recording the DID on-chain

Installation

pip install py-factom-did

Documentation

API documentation of the library is available here

Build

  • Clone the repo

  • Create the virtual environment and install the dependencies:

pipenv install

or

pipenv install --pre -d

to install both the default and development dependencies

  • Activate the virtual environment:
pipenv shell
  • Execute the tests:
pytest
  • Execute the example:
python -m examples.example

Metadata

Release files for py-factom-did 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-factom-did 0.5.0
File Size Uploaded
py-factom-did-0.5.0.tar.gz 40.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-factom-did 0.5.0
File Interpreter ABI Platform
py_factom_did-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 112.7 kB

Release files / py-factom-did-0.5.0.tar.gz

Download URL py-factom-did-0.5.0.tar.gz
Size 40.0 kB
Tags Source
SHA-256 checksum
How to use checksums
dbcf724127802de592476411ff385a74b1372d294748b888b2fd55c13e93f8bc
BLAKE2b-256 checksum
How to use checksums
19485a14b716ff3ff836f085eef4a95244dce35bcdbf7b4469f49d7380543106
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / py_factom_did-0.5.0-py3-none-any.whl

Download URL py_factom_did-0.5.0-py3-none-any.whl
Size 72.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
86674a856a209832188135baeba8475b86a39c10fb3b59d8e274e7c6228ec439
BLAKE2b-256 checksum
How to use checksums
1fbcc373de0a80794abeffa1cb8a6bff4d759c4ed1dcce1e1a515c195a80a0a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page