13. Store custom data¶
V1 required an HttkObject subclass and a decorated initializer. V2 stores a
plain frozen dataclass:
from dataclasses import dataclass
from httk.data.db import Database, SqlStore
@dataclass(frozen=True)
class StructureIsEdible:
formula: str
is_edible: bool
store = SqlStore(Database.sqlite("presentation.sqlite"))
store.save(StructureIsEdible("ClNa", True))
store.save(StructureIsEdible("As", False))
No ORM base class, decorator, or plugin property is required. Nested frozen
dataclasses become references; Annotated storage markers add indexes,
uniqueness, skipped fields, and fixed tensor shapes.
See the complete storable-record example in the versioned httk-data documentation listed by the module directory.