Metadata

class hugr.metadata.Metadata(*args, **kwargs)[source]

Bases: Protocol[Meta]

Metadata for a HUGR node.

This is a protocol for metadata entries that defines a unique key to identify the entry, and the type of the value.

Values in a hugr are encoded using json. When the value type is not a primitive type, to_json and from_json must be implemented to serialize and deserialize the value.

Parameters:

value – The value of the metadata.

Methods

from_json

Deserialize the metadata value from the stored json value.

to_json

Serialize the metadata value to a json value.

Attributes

ALIASES

Other aliases of the metadata key.

KEY

The unique key associated with the metadata entry.

ALIASES: ClassVar[list[str]] = []

Other aliases of the metadata key.

Typed metadata reads use these, in order, as fallbacks when KEY is not present. This is used for backward compatibility when renaming metadata keys.

Writes ignore this field and only write to KEY.

KEY: ClassVar[str]

The unique key associated with the metadata entry.

classmethod from_json(value: JsonType) Meta[source]

Deserialize the metadata value from the stored json value.

classmethod to_json(value: Meta) JsonType[source]

Serialize the metadata value to a json value.