Python SDK for Hedera standards and Registry Broker parity with TypeScript and Go SDKs.
Project description
HOL HCS SDK (Python)
| Python reference implementation of the Hiero Consensus Specifications (HCS) and Registry Broker utilities with parity against the TypeScript and Go SDKs. 📚 Standards SDK Documentation 📖 Hiero Consensus Specifications Documentation |
|---|
Quick Start
cd standards-sdk-py
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest -q
Install
pip install standards-sdk-py
conda install -c hashgraph-online standards-sdk-py
Multi-Language SDK Links
Canonical SDK docs URL: https://hol.org/docs/libraries/standards-sdk/
| Language | Package | Source | Canonical Documentation |
|---|---|---|---|
| TypeScript | @hol-org/standards-sdk |
hashgraph-online/standards-sdk | https://hol.org/docs/libraries/standards-sdk/ |
| Go | github.com/hashgraph-online/standards-sdk-go |
hashgraph-online/standards-sdk-go | https://hol.org/docs/libraries/go-sdk/overview |
| Python | standards-sdk-py |
hashgraph-online/standards-sdk-py | https://hol.org/docs/libraries/python-sdk/overview |
Developer Tooling
cd standards-sdk-py
.venv/bin/pre-commit install
.venv/bin/pre-commit run --all-files
Documentation
For standards and API documentation:
- Standards SDK Documentation
- HCS Standards Documentation
- Libraries.io Package Page
- piwheels Package Page
Citation and Archival
- Citation metadata:
CITATION.cff - Zenodo metadata:
.zenodo.json - Software Heritage origin: https://archive.softwareheritage.org/browse/origin/?origin_url=https://github.com/hashgraph-online/standards-sdk-py
Supported Packages
| Package | Coverage |
|---|---|
standards_sdk_py.hcs2 |
HCS-2 registry topic creation, indexed entry operations, memo helpers, mirror reads. |
standards_sdk_py.hcs3 |
HCS-3 recursive file loading helpers. |
standards_sdk_py.hcs5 |
HCS-5 hashinal inscription and minting helpers. |
standards_sdk_py.hcs6 |
HCS-6 non-indexed registry creation, registration helpers, memo helpers. |
standards_sdk_py.hcs7 |
HCS-7 indexed registry and metadata registration helpers. |
standards_sdk_py.hcs10 |
HCS-10 topic/message builders and communication helpers. |
standards_sdk_py.hcs11 |
HCS-11 profile models/builders, validation, inscription helpers. |
standards_sdk_py.hcs12 |
HCS-12 action/assembly/hashlinks helpers. |
standards_sdk_py.hcs14 |
HCS-14 UAID parsing and resolution helpers. |
standards_sdk_py.hcs15 |
HCS-15 account creation and memo helpers. |
standards_sdk_py.hcs16 |
HCS-16 flora account/topic/message helpers. |
standards_sdk_py.hcs17 |
HCS-17 state-hash helpers. |
standards_sdk_py.hcs18 |
HCS-18 discovery topic/message helpers. |
standards_sdk_py.hcs20 |
HCS-20 points message and validation helpers. |
standards_sdk_py.hcs21 |
HCS-21 adapter declaration helpers. |
standards_sdk_py.hcs26 |
HCS-26 memo parser/resolver helpers. |
standards_sdk_py.hcs27 |
HCS-27 checkpoint helpers. |
standards_sdk_py.inscriber |
Inscriber auth, quote, submit, and polling workflows. |
standards_sdk_py.registry_broker |
Full Registry Broker client (search, adapters, registries, credits, verification, chat/encryption, skills, ledger auth). |
standards_sdk_py.mirror |
Mirror node client used by standards and inscriber modules. |
standards_sdk_py.shared |
transport, config, network/operator helpers, and shared typing. |
CodeSandbox Examples
- Examples index
- standards-sdk-discovery
- hcs2-create-registry
- hcs5-build-mint
- hcs6-create-registry
- hcs7-register-metadata
- hcs10-build-message
- hcs11-build-agent-profile
- hcs12-build-register
- hcs14-parse-uaid
- hcs15-build-account-tx
- hcs16-build-flora-topic-tx
- hcs17-build-state-message
- hcs18-build-announce
- hcs20-deploy-points
- hcs21-build-declaration
- hcs26-parse-memos
- hcs27-publish-checkpoint
- inscriber-auth-client
- mirror-topic-messages
- registry-broker-skill-domain-proof
- registry-broker-uaid-dns-verification
Environment Variables
Common:
HEDERA_NETWORKHEDERA_ACCOUNT_IDorHEDERA_OPERATOR_IDHEDERA_PRIVATE_KEYorHEDERA_OPERATOR_KEY
Network-scoped overrides:
TESTNET_HEDERA_ACCOUNT_IDTESTNET_HEDERA_PRIVATE_KEYMAINNET_HEDERA_ACCOUNT_IDMAINNET_HEDERA_PRIVATE_KEY
Registry Broker:
REGISTRY_BROKER_BASE_URLREGISTRY_BROKER_API_KEYREGISTRY_BROKER_LEDGER_API_KEY
Inscriber integration:
RUN_INTEGRATION=1RUN_INSCRIBER_INTEGRATION=1
Tests
Unit and contract tests:
cd standards-sdk-py
.venv/bin/pytest -q
Parity checks:
cd standards-sdk-py
.venv/bin/standards-sdk-py-generate-inventory --repo-root ..
.venv/bin/standards-sdk-py-check-parity
Live testnet inscriber end-to-end:
cd standards-sdk-py
cp ../standards-sdk/.env ./.env
pip install hedera-sdk-py
set -a
source <(grep -E '^[A-Za-z_][A-Za-z0-9_]*=' ./.env)
set +a
export RUN_INTEGRATION=1
export RUN_INSCRIBER_INTEGRATION=1
.venv/bin/pytest -m integration -k inscriber_registry_broker_end_to_end_testnet -vv -rs
Live testnet HCS-2 end-to-end:
cd standards-sdk-py
export RUN_INTEGRATION=1
export RUN_HCS2_INTEGRATION=1
export HEDERA_NETWORK=testnet
export TESTNET_HEDERA_ACCOUNT_ID="<your-testnet-account-id>"
export TESTNET_HEDERA_PRIVATE_KEY="<your-testnet-private-key>"
.venv/bin/pytest -m integration -k hcs2_end_to_end_testnet -vv -rs
Notes:
- Set
HEDERA_NETWORK=testnet(and do not set a conflictingINSCRIBER_HEDERA_NETWORK). - The test uses ledger challenge auth from your testnet credentials to avoid accidentally using a mainnet-scoped API key.
CI/CD and Security
- Python matrix CI (
3.11,3.12,3.13) forruff,black,mypy, unit tests, parity checks, and package validation. - Security workflows for dependency review,
pip-audit, Bandit SARIF upload, CodeQL, and verified TruffleHog secret scanning. - Release workflow for build +
twine check, TestPyPI/PyPI trusted publishing, checksum artifacts, provenance attestations, and GitHub release notes. - Conda workflow for building packages and uploading to
anaconda.org/hashgraph-onlinewhenANACONDA_API_TOKENis configured. - Release indexing automation verifies PyPI + Libraries.io pages and submits a Software Heritage save request.
Contributing
Open issues or pull requests in the repository:
Security
For disclosure and response policy, see SECURITY.md.
Maintainers
Maintained by HOL.
Resources
📝 Blog Tutorials
- Building a Decentralized Registry with Go & HCS-2
- HCS-14: Profiles and Agent AID Resolution
- ERC-8004: Trustless Agent Registry
- Universal Agent Discovery with MCP
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file standards_sdk_py-0.1.7.tar.gz.
File metadata
- Download URL: standards_sdk_py-0.1.7.tar.gz
- Upload date:
- Size: 342.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7bbd289ac2c59300e9495abcf94a5642a91ccc35a3aa0260e4444dc4734f834
|
|
| MD5 |
bedb6049963c938de9aa5c0eb20da54f
|
|
| BLAKE2b-256 |
0062ebbd18481014b7f808b19b5cc5276a4d634b190e01f425980f9e92c323b1
|
Provenance
The following attestation bundles were made for standards_sdk_py-0.1.7.tar.gz:
Publisher:
publish.yml on hashgraph-online/standards-sdk-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
standards_sdk_py-0.1.7.tar.gz -
Subject digest:
f7bbd289ac2c59300e9495abcf94a5642a91ccc35a3aa0260e4444dc4734f834 - Sigstore transparency entry: 1193906545
- Sigstore integration time:
-
Permalink:
hashgraph-online/standards-sdk-py@43590d23ef11578e1362b14125058e2e30fc5ce1 -
Branch / Tag:
refs/tags/standards-sdk-py-v0.1.7 - Owner: https://github.com/hashgraph-online
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@43590d23ef11578e1362b14125058e2e30fc5ce1 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file standards_sdk_py-0.1.7-py3-none-any.whl.
File metadata
- Download URL: standards_sdk_py-0.1.7-py3-none-any.whl
- Upload date:
- Size: 166.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
999eea2ff1534551dfb6c69a29e0d6edda215b69e877ff25c46c4cd39ab65791
|
|
| MD5 |
711a81a64c6caecfb84c48541232b726
|
|
| BLAKE2b-256 |
94ad4e210fab6782b8bf89ad4074a3ca69f6ff8ae3ac9c1b76390f2ff1311847
|
Provenance
The following attestation bundles were made for standards_sdk_py-0.1.7-py3-none-any.whl:
Publisher:
publish.yml on hashgraph-online/standards-sdk-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
standards_sdk_py-0.1.7-py3-none-any.whl -
Subject digest:
999eea2ff1534551dfb6c69a29e0d6edda215b69e877ff25c46c4cd39ab65791 - Sigstore transparency entry: 1193906613
- Sigstore integration time:
-
Permalink:
hashgraph-online/standards-sdk-py@43590d23ef11578e1362b14125058e2e30fc5ce1 -
Branch / Tag:
refs/tags/standards-sdk-py-v0.1.7 - Owner: https://github.com/hashgraph-online
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@43590d23ef11578e1362b14125058e2e30fc5ce1 -
Trigger Event:
workflow_dispatch
-
Statement type: