config¶
General OPTIMADE configuration models.
DEFAULT_CACHE_CONFIG_VALUES
¶
Set the expireTime
and tag
to default values for the data cache.
OPTIMADEConfig (AttrDict)
¶
OPTIMADE configuration.
Source code in oteapi_optimade/models/config.py
class OPTIMADEConfig(AttrDict): # type: ignore[misc]
"""OPTIMADE configuration."""
version: Annotated[
str,
Field(
description="The version part of the OPTIMADE versioned base URL.",
pattern=r"^v[0-9]+(\.[0-9]+){0,2}$",
),
] = "v1"
endpoint: Annotated[
Literal["references", "structures"],
Field(
description="Supported OPTIMADE entry resource endpoint.",
),
] = "structures"
query_parameters: Annotated[
Optional[OPTIMADEQueryParameters],
Field(
description="URL query parameters to be used in the OPTIMADE query.",
),
] = None
datacache_config: Annotated[
DataCacheConfig,
Field(
description="Configuration options for the local data cache.",
),
] = DataCacheConfig(**DEFAULT_CACHE_CONFIG_VALUES)
use_dlite: Annotated[
bool,
Field(
description="Whether or not to store the results in a DLite Collection.",
),
] = False
@field_validator("datacache_config", mode="after")
@classmethod
def default_datacache_config(
cls, datacache_config: DataCacheConfig
) -> DataCacheConfig:
"""Use default values for `DataCacheConfig` if not supplied."""
original_set_values = len(datacache_config.model_fields_set)
for field, default_value in DEFAULT_CACHE_CONFIG_VALUES.items():
if field in datacache_config.model_fields_set:
# Use the set value instead of the default
continue
setattr(datacache_config, field, default_value)
if len(datacache_config.model_fields_set) > original_set_values:
# Re-validate model and return it
return datacache_config.model_validate(
{
field: field_value
for field, field_value in datacache_config.model_dump().items()
if field in datacache_config.model_fields_set
}
)
return datacache_config
model_computed_fields
¶
model_config
¶
model_fields
¶
default_datacache_config(datacache_config)
classmethod
¶
Use default values for DataCacheConfig
if not supplied.
Source code in oteapi_optimade/models/config.py
@field_validator("datacache_config", mode="after")
@classmethod
def default_datacache_config(
cls, datacache_config: DataCacheConfig
) -> DataCacheConfig:
"""Use default values for `DataCacheConfig` if not supplied."""
original_set_values = len(datacache_config.model_fields_set)
for field, default_value in DEFAULT_CACHE_CONFIG_VALUES.items():
if field in datacache_config.model_fields_set:
# Use the set value instead of the default
continue
setattr(datacache_config, field, default_value)
if len(datacache_config.model_fields_set) > original_set_values:
# Re-validate model and return it
return datacache_config.model_validate(
{
field: field_value
for field, field_value in datacache_config.model_dump().items()
if field in datacache_config.model_fields_set
}
)
return datacache_config