This release is a pre-release and may not be stable for production use.
OCLP Python SDK
The reference Python implementation of the Open Computation Lifecycle Protocol.
OCLP is a language-neutral standard for durable computation provenance. This package provides Python models, canonical JSON serialization, digest helpers, validation, portable profile helpers, and an optional local DuckDB catalog.
The protocol specification, schemas, examples, and cross-language conformance
vectors live in the separate
open-computation-lifecycle
repository. The SDK follows that specification; it does not define it.
Full SDK documentation is published at evanz.github.io/oclp-python.
Install
pip install "oclp[duckdb]"
Omit [duckdb] if the local record catalog is not needed. The SDK is an
experimental pre-1.0 package: APIs and protocol support may change between
minor releases. Pin a published version for reproducible deployments.
For unreleased changes, install directly from GitHub:
pip install "oclp[duckdb] @ git+https://github.com/EvanZ/oclp-python.git@main"
Replace main with a reviewed immutable commit SHA when testing an unreleased
build reproducibly.
For development:
git clone https://github.com/EvanZ/oclp-python.git
cd oclp-python
uv sync --group dev
uv run pytest
uv run ruff check .
Scope
oclp is deliberately an SDK, not an orchestrator or a hosted provenance
service. Applications decide when to create records; consumers such as
Cyclops can then inspect them.
The duckdb extra supplies a simple local catalog for resolving
content-bound records and their locations. It is optional implementation
infrastructure, not a requirement of the OCLP standard.
Releases
GitHub main contains ongoing development. PyPI receives intentional,
versioned releases published from a GitHub Release through PyPI Trusted
Publishing. Early releases use PEP 440 pre-release versions (such as
0.3.0a0) while the OCLP protocol and SDK API are still evolving. See the
GitHub releases for changes
and installation versions. Maintainers can follow the
release instructions.
End-to-end example
The bike-demand service demo is a staged, self-contained consumer project for returning to an end-to-end OCLP design: source data, feature preparation, temporal model folds, evaluation, model release packaging, and FastAPI inference. It has its own dependencies so the SDK's core installation remains small.
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 oclp-0.3.0a0.tar.gz.
File metadata
- Download URL: oclp-0.3.0a0.tar.gz
- Upload date:
- Size: 636.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50475c118f33598ea92ceb1bcd0a95c54b58d3069492afc3122d77a74d6f2627
|
|
| MD5 |
f55feede1ea83e6b7534a05932714f49
|
|
| BLAKE2b-256 |
f56a0585a22da24b7d34c6262fdb46e17e914793fc285abf05222dc3ddaa1563
|
Provenance
The following attestation bundles were made for oclp-0.3.0a0.tar.gz:
Publisher:
publish.yml on EvanZ/oclp-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oclp-0.3.0a0.tar.gz -
Subject digest:
50475c118f33598ea92ceb1bcd0a95c54b58d3069492afc3122d77a74d6f2627 - Sigstore transparency entry: 2798945307
- Sigstore integration time:
-
Permalink:
EvanZ/oclp-python@a6acfd251e9eae9b50f2e6cebb2dfdf760b7a151 -
Branch / Tag:
refs/tags/v0.3.0a0 - Owner: https://github.com/EvanZ
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a6acfd251e9eae9b50f2e6cebb2dfdf760b7a151 -
Trigger Event:
release
-
Statement type:
File details
Details for the file oclp-0.3.0a0-py3-none-any.whl.
File metadata
- Download URL: oclp-0.3.0a0-py3-none-any.whl
- Upload date:
- Size: 73.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d75d5a9dd80bd718342e9bef0eafde6bcea71facbf183b374cc697ba648026d8
|
|
| MD5 |
f4b946d000913d0d2bf260bf08e85bf0
|
|
| BLAKE2b-256 |
dc56e933b3eb84ac603ee25a1424e16756513771b8de7213801217808d72c829
|
Provenance
The following attestation bundles were made for oclp-0.3.0a0-py3-none-any.whl:
Publisher:
publish.yml on EvanZ/oclp-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oclp-0.3.0a0-py3-none-any.whl -
Subject digest:
d75d5a9dd80bd718342e9bef0eafde6bcea71facbf183b374cc697ba648026d8 - Sigstore transparency entry: 2798945416
- Sigstore integration time:
-
Permalink:
EvanZ/oclp-python@a6acfd251e9eae9b50f2e6cebb2dfdf760b7a151 -
Branch / Tag:
refs/tags/v0.3.0a0 - Owner: https://github.com/EvanZ
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a6acfd251e9eae9b50f2e6cebb2dfdf760b7a151 -
Trigger Event:
release
-
Statement type: