neu_vol.ops.provenance

What a volume was made from, written beside it as provenance.json.

Written for every source. For DVID it records the resolved node: a branch ref like 93fdbc:main names a different node tomorrow.

A sidecar rather than a field in info or the OME attributes, which viewers and validators read and may reject. Written through location, so local or object store, and after the data, so a run that died half way leaves no record.

Attributes

Functions

build_record(*, src_spec, dst, **run) → dict[str, Any]

The record for one conversion. run carries whatever the caller thinks matters.

source_provenance(spec) → dict[str, Any]

Per-backend source facts, or a generic description of the spec.

write(dst, record) → None

Write provenance.json at dst. Never fails the run.

Module Contents

neu_vol.ops.provenance.build_record(*, src_spec: Mapping[str, Any], dst: str, **run: Any) → dict[str, Any]

The record for one conversion. run carries whatever the caller thinks matters.

neu_vol.ops.provenance.source_provenance(spec: Mapping[str, Any]) → dict[str, Any]

Per-backend source facts, or a generic description of the spec.

Backends that can say something specific do; everything else is described by its spec, which already names the location it read.

neu_vol.ops.provenance.write(dst: str, record: Mapping[str, Any]) → None

Write provenance.json at dst. Never fails the run.

The data is already written, so a failure here is logged, not raised.

neu_vol.ops.provenance.FILENAME = 'provenance.json'
neu_vol.ops.provenance.logger