CXP: Capability Exchange Protocol
CXP exchanges versioned JSON documents for capabilities, requirements,
observations and compatibility results. A catalog is selected by its exact
namespace, name, version and SHA-256. The evaluator returns compatible,
incompatible or indeterminate from validated inputs.
pip install 'cxp[exchange]'
cxp catalog list
python -m cxp.exchange.tutorial
from cxp.exchange import Document, CatalogStore, evaluate_requirements_detailed
# The producer supplies its own catalog and snapshot documents. The consumer
# supplies its pinned requirements and an explicit context, including the
# accepted source kinds in context v2.
result = evaluate_requirements_detailed(
snapshot,
requirements,
context,
catalogs=CatalogStore((catalog,)),
)
print(result.verdict)
CXP validates and compares claims. It does not discover providers, download catalogs, authenticate evidence, perform probes, create leases, manage a lifecycle or select a runtime modality. Producers own catalog semantics and operational contracts. Consumers own admission policy and evidence checks.
Catalog v2 adds explicit string domains and exact documentary sources at the catalog, capability, property and operation levels. Catalog v1 remains readable; adoption of v2 is explicit. See the catalog v2 specification.
The component handshake, descriptors, global catalog registry, built-in
producer catalogs and telemetry protocol from earlier CXP releases were
retired in the removal major. Historical source, tests and examples are kept
under evidence/ as non-installed evidence. See the
migration guide and C4 conservation matrix.
Read the exchange specification, catalog v2, context v2, integration guide, CLI guide, and reference catalogs.
The package supports Python 3.12–3.14. See CONTRIBUTING.md for local checks and candidate verification. Publication is a separate gate.
Metadata
Release files for cxp 5.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cxp-5.0.0.tar.gz | 127.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cxp-5.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 186.0 kB
Release files / cxp-5.0.0.tar.gz
| Download URL | cxp-5.0.0.tar.gz |
|---|---|
| Size | 127.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd5f88dba95feebfcbc936c4709ae4147e9ce22608b6b2217b3def6aaa20f05b
|
|
BLAKE2b-256 checksum How to use checksums |
04e4fdaff28d596b2ee600f9b78303cd7a3896083deb3438ed395eca417e2cae
|
| 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 27, 2026.
Transparency logRelease files / cxp-5.0.0-py3-none-any.whl
| Download URL | cxp-5.0.0-py3-none-any.whl |
|---|---|
| Size | 58.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
441660860662d2498a9337de14c2ca86af743e5018a57510c6ac75a09b7b2913
|
|
BLAKE2b-256 checksum How to use checksums |
3952dfe5c47d07347ff206cd6bff03c8eed19f1fb169a8e01477f5ce16fd87eb
|
| 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 27, 2026.
Transparency log