Skip to main content

Python library for Factom DIDs

Project description

Build Status Coverage Status License: MIT Code style: black


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 and contains an extensive unit test suite with 100% test coverage.


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


pip install py-factom-did


API documentation of the library is available here


  • Clone the repo

  • Create the virtual environment and install the dependencies:

pipenv install


pipenv install --pre -d

to install both the default and development dependencies

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

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

py-factom-did-0.5.0.tar.gz (40.0 kB view hashes)

Uploaded source

Built Distribution

py_factom_did-0.5.0-py3-none-any.whl (72.7 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page