httk.atomistic.entries

Submodules

Attributes

Functions

load_httk_definitions(names)

Load vendored property definitions by served name.

precision_definitions()

Load the vendored coordinate and basis precision definitions.

precision_properties(structure)

Project the stated coordinate and basis precision.

Package Contents

httk.atomistic.entries.load_httk_definitions(names)[source]

Load vendored property definitions by served name.

Each document is loaded verbatim, $id included. Note that a definition’s own x-optimade-definition.name stays the unprefixed name it was published under, which will differ from the prefixed name httk serves it as — that is correct, and rewriting a published document to match a local naming choice would defeat the point of pointing at it.

Parameters:

names (collections.abc.Mapping[str, str]) – A map from served property name to vendored definition stem.

Returns:

The loaded definitions keyed by served property name.

Return type:

dict[str, httk.core.PropertyDefinition]

httk.atomistic.entries.PRECISION_PROPERTY_KEYS: dict[str, str][source]
httk.atomistic.entries.precision_definitions()[source]

Load the vendored coordinate and basis precision definitions.

Returns:

Definitions keyed by their served names.

Return type:

dict[str, httk.core.PropertyDefinition]

httk.atomistic.entries.precision_properties(structure)[source]

Project the stated coordinate and basis precision.

Both are null for a structure that does not say — one built by hand, or read from a source that does not write its numbers to a definite number of digits. That is the honest answer, and it is distinguishable from a claim of exactness.

Rendered as floats, since that is what a JSON consumer will use them as; they are held exactly on the structure itself.

Parameters:

structure (Any) – The structure to project, or None for an empty entry.

Returns:

The _httk_coordinate_precision and _httk_basis_precision values.

Return type:

dict[str, Any]