Source code for httk.atomistic.entries.prototypes

"""Logical entry families for the retained structural-classification records.

These are non-instantiable family markers used as storage-layout keys and as the
targets of :func:`~httk.core.register.register_entry_family`. OPTIMADE serving
(definitions and providers) for these families is intentionally not part of this
module; store a :class:`~httk.atomistic.storage.records.ProtostructureRecord` or
:class:`~httk.atomistic.storage.records.PrototypeRecord` (or their source values)
directly.
"""

from typing import Any, Self

__all__ = ["BareProtostructureEntry", "BarePrototypeEntry", "ProtostructureEntry", "PrototypeEntry"]


[docs] class ProtostructureEntry: """Define the non-instantiable protostructure entry family.""" type = "protostructures" def __new__(cls, *args: Any, **kwargs: Any) -> Self: raise TypeError("ProtostructureEntry is a logical entry family; store a protostructure representation directly")
[docs] class PrototypeEntry: """Define the non-instantiable prototype entry family.""" type = "prototypes" def __new__(cls, *args: Any, **kwargs: Any) -> Self: raise TypeError("PrototypeEntry is a logical entry family; store a prototype representation directly")
[docs] class BarePrototypeEntry: """Define the non-instantiable bare prototype entry family.""" type = "bare_prototypes" def __new__(cls, *args: Any, **kwargs: Any) -> Self: raise TypeError("BarePrototypeEntry is a logical entry family; store a bare prototype directly")
[docs] class BareProtostructureEntry: """Define the non-instantiable bare protostructure entry family.""" type = "bare_protostructures" def __new__(cls, *args: Any, **kwargs: Any) -> Self: raise TypeError("BareProtostructureEntry is a logical entry family; store a bare protostructure directly")