SNLAbout

class emmet.core.provenance.SNLAbout(**data)

Bases: BaseModel

A data dictionary defining extra fields in a SNL

Parameters:
  • references (str)

  • authors (list[Author] | None)

  • remarks (list[str] | None)

  • tags (list[str] | None)

  • database_IDs (dict[Database, list[str]] | None)

  • history (Annotated[list[History] | None, BeforeValidator(func=~emmet.core.provenance._migrate_legacy_history_data, json_schema_input_type=PydanticUndefined)])

  • created_at (Annotated[datetime, FieldInfo(annotation=NoneType, required=False, default_factory=utcnow), BeforeValidator(func=~emmet.core.utils.convert_datetime, json_schema_input_type=PydanticUndefined)])

classmethod migrate_legacy_data(config)

Migrate legacy SNL data with free-form JSON values to schematized.

Return type:

Self

Parameters:

config (dict[str, Any])

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].