Principle:Wandb Weave Object Publishing
| Knowledge Sources | |
|---|---|
| Domains | Versioning, Object_Storage |
| Last Updated | 2026-02-14 00:00 GMT |
Overview
A content-addressable versioning mechanism that persists Python objects and provides immutable references for retrieval.
Description
Object Publishing provides a save-and-version system for arbitrary Python objects. When an object is published, its content is hashed to produce a unique digest. If the same name already exists with a different hash, a new version is created; if the hash matches, no new version is written. This ensures efficient deduplication and immutable version history.
Published objects are retrieved via references (URIs) that can point to the latest version or a specific historical version by digest.
Usage
Use this principle when you need to persist models, datasets, prompts, or any Python object with version tracking. It enables reproducible experiments by allowing retrieval of the exact version of any artifact used in a particular trace or evaluation.
Theoretical Basis
Content-addressable storage provides:
- Immutability: Each version is identified by its content hash, ensuring that once published, a version cannot be modified.
- Deduplication: Publishing the same content twice does not create a new version.
- Versioned Retrieval: Objects can be accessed by name (latest) or by name:digest (specific version).
# Abstract versioning model
digest = hash(serialize(obj))
if latest_version(name).digest != digest:
store(name, version=digest, data=serialize(obj))
ref = Reference(entity, project, name, digest)