colca-data-contracts
The payload contracts that Colca nodes and the services around them agree on, written as Python dataclasses on top of franzmq.
The package contains
- one class per contract (
_Metric,_Signal,_SystemElement,_CmdParam, …) with encoding, decoding and validation, - topic helpers that put the publishing node and the configured topic root
into every topic (
node_topic,COLCA_TOPIC_ROOT), - the builtin data models, semantic tags and metadata types,
- the generator for the schema bundle that nodes enforce
(
scripts/generate_bundle.py), - golden vectors in
src/colca_data_contracts/vectors/, which the Go tests of this repository read as well, so both sides answer the same cases.
Use
pip install ./contracts
from colca_data_contracts import node_topic
from colca_data_contracts.payload import Metric
topic = node_topic(Metric, "line1", "press3", "temp") # colca/v1/_Metric/<NODE_ID>/line1/press3/temp
NODE_ID names the node the process publishes under; COLCA_TOPIC_ROOT
changes the first segment from colca.
Develop
make contracts-test # from the repository root
make bundle # writes build/bundle/contracts-bundle.json
Release files for colca-data-contracts 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| colca_data_contracts-0.1.2.tar.gz | 69.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| colca_data_contracts-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 126.2 kB
Release files / colca_data_contracts-0.1.2.tar.gz
| Download URL | colca_data_contracts-0.1.2.tar.gz |
|---|---|
| Size | 69.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c3d0c0188b0ac861f1e1254d6d57a2bf07ede0006e384d7f6125bc768ac4d88c
|
|
BLAKE2b-256 checksum How to use checksums |
a91361828a669360cfc433b6e8819e7149059dd09275599496120cbdbf9e8020
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / colca_data_contracts-0.1.2-py3-none-any.whl
| Download URL | colca_data_contracts-0.1.2-py3-none-any.whl |
|---|---|
| Size | 56.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
be80135a4733b72f6fa53fb77b442ea773b6ab5cbf36c1a122674852ac1106b5
|
|
BLAKE2b-256 checksum How to use checksums |
70aaf4acd9732c2b3515fe864c1f62c852b171f7ddb44ba559f69bfb0de2484d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency log