phenotypic.sdk_.pipeline_publication_lock#

phenotypic.sdk_.pipeline_publication_lock(config_path: Path, *, timeout: float = 30.0) Iterator[None][source]#

Serialize a complete read/check/write pipeline transaction.

Callers must hold this lock across both their generation or staleness check and the final atomic replacement. Atomic rename prevents partial files; this lock prevents a valid concurrent generation from being silently overwritten after a check-then-replace race.

Parameters:
  • config_path (Path) – Canonical pipeline configuration being published.

  • timeout (float) – Maximum seconds to wait for a competing publisher.

Yields:

None while the shared publication lock is held.

Return type:

Iterator[None]