httk.core.register.entries¶
Entry-provider, entry-family, record, and binding registries.
Attributes¶
Classes¶
Describe lazy typed handling for one exact entry-type definition IRI. |
Functions¶
|
Register an |
Return registered entry-provider names. |
|
|
Register a lazy record-class reference and optional family and definition IRI. |
|
Return registered record names, optionally limited to a family. |
|
Return record, family, and definition metadata without importing the record class. |
|
Import and return a registered record class. |
|
Register a lazy entry-family class reference without importing it. |
Return registered entry-family names. |
|
|
Return entry-family metadata without importing its class. |
|
Import and return a registered entry-family class. |
|
Register one lazy typed binding, selected only by exact definition IRI. |
Return registered entry-type definition IRIs without resolving imports. |
|
|
Return the exact-IRI binding without importing its backend or view. |
Module Contents¶
- httk.core.register.entries.register_entry_provider(*, name, factory)[source]¶
Register an
EntryProviderfactory undername.factoryis a lazy"module:callable"reference to a callable that constructs a provider (providers need data, so applications call the factory themselves; the registry only records how to reach it). This mirrorsregister_reader.
- httk.core.register.entries.register_entry_record(*, name, record, family=None, definition_id=None)[source]¶
Register a lazy record-class reference and optional family and definition IRI.
- Parameters:
- Raises:
ValueError – If validation fails or
nameis already registered.
- httk.core.register.entries.known_entry_records(family=None)[source]¶
Return registered record names, optionally limited to a family.
- httk.core.register.entries.entry_record_info(name)[source]¶
Return record, family, and definition metadata without importing the record class.
- httk.core.register.entries.resolve_entry_record(name)[source]¶
Import and return a registered record class.
- Parameters:
name (str) – The registered record name.
- Returns:
The resolved frozen dataclass record class.
- Raises:
ValueError – If
nameis not registered.TypeError – If the reference does not resolve to a frozen dataclass.
- Return type:
- httk.core.register.entries.register_entry_family(*, name, family, definition_id=None)[source]¶
Register a lazy entry-family class reference without importing it.
- Parameters:
- Raises:
ValueError – If validation fails or
nameis already registered.
- httk.core.register.entries.entry_family_info(name)[source]¶
Return entry-family metadata without importing its class.
- Parameters:
name (str) – The registered entry-family name.
- Returns:
The lazy family reference and optional definition IRI.
- Raises:
ValueError – If
nameis not registered.- Return type:
- httk.core.register.entries.resolve_entry_family(name)[source]¶
Import and return a registered entry-family class.
- Parameters:
name (str) – The registered entry-family name.
- Returns:
The resolved entry-family class.
- Raises:
ValueError – If
nameis not registered.TypeError – If the reference does not resolve to a class.
- Return type:
- class httk.core.register.entries.OptimadeEntryBinding[source]¶
Describe lazy typed handling for one exact entry-type definition IRI.
- Parameters:
name – The binding registry name.
definition_id – The exact entry-type definition IRI selected by the binding.
backend – The lazy backend class reference.
view – The lazy view class reference.
property_decoders – Property definition IRIs mapped to lazy decoder references.
query_fields – Property definition IRIs supported for querying, if restricted.
- property_decoders: collections.abc.Mapping[str, str][source]¶
- resolve_property_decoder(definition_id)[source]¶
Resolve one property decoder, or return
Nonewhen it is unbound.- Parameters:
definition_id (str) – The property definition IRI to resolve.
- Returns:
The decoder callable, or
Nonewhen no decoder is registered.- Return type:
collections.abc.Callable[Ellipsis, Any] | None
- httk.core.register.entries.register_optimade_entry_binding(*, name, definition_id, backend, view, property_decoders=None, query_fields=None)[source]¶
Register one lazy typed binding, selected only by exact definition IRI.
- Parameters:
name (str) – The binding registry name.
definition_id (str) – The exact entry-type definition IRI selected by the binding.
backend (str) – The lazy backend class reference.
view (str) – The lazy view class reference.
property_decoders (collections.abc.Mapping[str, str] | None) – Property definition IRIs mapped to lazy decoder references.
query_fields (tuple[str, Ellipsis] | None) – Property definition IRIs supported for querying, if restricted.
- Raises:
ValueError – If the definition IRI is already registered or input is invalid.
- httk.core.register.entries.known_optimade_entry_bindings()[source]¶
Return registered entry-type definition IRIs without resolving imports.
- httk.core.register.entries.optimade_entry_binding(definition_id)[source]¶
Return the exact-IRI binding without importing its backend or view.
- Parameters:
definition_id (str) – The exact entry-type definition IRI to look up.
- Returns:
The binding, or
Noneif no exact match is registered.- Return type:
OptimadeEntryBinding | None