qat.experimental.system_data.materialisers.purr.materialisers.external_resources module

Shared external-resource registry for PuRR materialisation.

This module provides a small deduplicating registry so multiple builder components can register references to the same external hardware resource without rebuilding duplicate canonical entries.

class ExternalResourceRegistry

Bases: object

Deduplicating registry keyed by external resource id.

register(*, resource_id, object_type=None, attributes=None)

Register or merge an external resource definition by id.

If the id is already known, fields are merged deterministically: :rtype: str | None

  • object_type keeps the first non-empty value.

  • attributes keep first-write per key.

to_tuple()

Return canonical immutable external resource records.

Return type:

tuple[ExternalResourceData, ...]