OCLP Python SDK¶
oclp is the reference Python implementation of the Open Computation
Lifecycle Protocol (OCLP).
It provides strict record models, RFC 8785 canonical JSON, SHA-256 record
digests, record and graph validation, profile helpers, and an optional local
DuckDB catalog.
The SDK implements the standard; it does not define it. The canonical source for protocol meaning, schemas, examples, and cross-language conformance vectors is the OCLP standard documentation.
What it is for¶
Use the SDK when a Python application needs to describe durable computation
lineage without adopting an orchestration engine or a hosted provenance
service. An application chooses when to create Computation, Execution,
Artifact, ArtifactSet, Evidence, and Event records. OCLP preserves and
validates those observations; it does not run the computation.
application code --> oclp records --> catalog / files / registry --> consumers
\-----------------------------> Cyclops
Cyclops is a separate read-only explorer. It reads published OCLP records but does not change how a producer executes a job.
Optional integrations¶
The base package has no data-science or model-framework dependency. Install
only the integrations a project declares—such as oclp[catboost] or
oclp[xgboost]. See Artifact formats and library integrations
for the supported representations, their persistence formats, installation
extras, and compatibility boundaries.
Boundaries¶
The SDK intentionally does not provide a scheduler, a workflow DSL, automatic dependency capture, a remote artifact store, or a model tracker. Those are application or ecosystem concerns that can produce and consume the same OCLP records.
Start with getting started, then see records and canonicalization for the core SDK operations. For a complete consumer implementation with CatBoost, a local DuckDB catalog, and parallel MLflow experiment tracking, see the end-to-end bike-demand example.