ContainerImage#

class nominal.core.ContainerImage(rid: str, tag: str, status: ContainerImageStatus, size_bytes: int, created_at: IntegralNanosecondsUTC, extractor_rid: str, inputs: Sequence[FileExtractionInput], parameters: Sequence[FileExtractionParameter], exit_code_mappings: Sequence[ExitCodeMapping], file_output_format: FileOutputFormat, default_timestamp_metadata: TimestampMetadata | None, resources: ContainerResources)#

Bases: HasRid, RefreshableMixin[ContainerImage]

A container image registered against a containerized extractor (nominal.registry.v2).

rid: str#
tag: str#
status: ContainerImageStatus#
size_bytes: int#
created_at: IntegralNanosecondsUTC#
extractor_rid: str#
inputs: Sequence[FileExtractionInput]#
parameters: Sequence[FileExtractionParameter]#
exit_code_mappings: Sequence[ExitCodeMapping]#

Fallback errors for failed container exit codes; empty when no mappings are registered.

file_output_format: FileOutputFormat#
default_timestamp_metadata: TimestampMetadata | None#

How timestamps in the extractor’s output are encoded, when nothing more specific applies.

Per output file, the backend resolves timestamp metadata in this order:

  1. For MANIFEST-format extractors, the metadata a manifest output declares for itself;

  2. the ingest request’s override (Dataset.add_containerized’s timestamp_column/timestamp_type);

  3. this default.

The request-override-or-default portion is resolved before the container runs, and ingestion fails if both are absent — a fully-descriptive manifest alone is not sufficient. Always set on images registered through this SDK (registration requires it); may be None on images from older registration paths, in which case every ingest must supply an override.

resources: ContainerResources#

Resource overrides for the extractor container; fields left as None use deployment-wide defaults.

delete() → None#

Delete this image.

Fails server-side if an extractor still references it as its active image.

poll_until_ready(interval: timedelta = timedelta(seconds=1)) → Self#

Block until this image has finished processing server-side, refreshing in place.

This method polls Nominal for the image’s status on an interval.

Parameters:

interval – How often to poll for the image’s status.

Returns:

This instance, once its status is ContainerImageStatus.READY.

Raises:

NominalContainerImageError – If the image reaches a state from which it cannot become READY (FAILED, or a status this SDK doesn’t recognize).

refresh() → Self#