httk.atomistic.symmetry_entries

The symmetry properties an asymmetric-unit structure can serve over OPTIMADE.

Two families, kept apart on purpose:

Standard OPTIMADE properties. space_group_it_number, the three space-group symbols, space_group_symmetry_operations_xyz, wyckoff_positions, fractional_site_positions, and site_coordinate_span are all part of the OPTIMADE standard and are already described in the vendored optimade_defs/structures.json. They were simply never served.

Provider-specific properties, for the things OPTIMADE does not standardise — chiefly which setting a structure is written in, and the change of basis to the standard one. Rather than inventing descriptions, these reuse the published property definitions from schemas.httk.org, vendored verbatim in httk_defs/. The served name carries the _httk_ prefix that OPTIMADE requires of a database-specific property, but the definition keeps its own $id, so a client following the link reaches the authoritative published schema instead of a local paraphrase.

Everything here serves null for a plain Structure, which carries no symmetry — with the sole exception of fractional_site_positions, which is just the reduced coordinates and is always available.

Attributes

Functions

setting_definitions(→ dict[str, ...)

The vendored setting definitions, keyed by their served name.

symmetry_properties(→ dict[str, Any])

Every symmetry property for one structure, standard and provider-specific alike.

Module Contents

httk.atomistic.symmetry_entries.SYMMETRY_PROPERTY_KEYS: tuple[str, Ellipsis] = ('space_group_it_number', 'space_group_symbol_hall', 'space_group_symbol_hermann_mauguin',...[source]
httk.atomistic.symmetry_entries.SETTING_PROPERTY_KEYS: dict[str, str][source]
httk.atomistic.symmetry_entries.setting_definitions() dict[str, httk.core.PropertyDefinition][source]

The vendored setting definitions, keyed by their served name.

Loaded verbatim, so each keeps the $id under schemas.httk.org that makes it resolvable. Cached, since the documents are immutable.

httk.atomistic.symmetry_entries.symmetry_properties(structure: Any) dict[str, Any][source]

Every symmetry property for one structure, standard and provider-specific alike.

A structure that is not an ASUStructure carries no symmetry, so everything but fractional_site_positions serves null. That is the honest answer: inferring a space group here would mean running a symmetry search behind the caller’s back, with a tolerance nobody chose, on every record served.