aiida_pythonjob_ins.data.base ============================= .. py:module:: aiida_pythonjob_ins.data.base .. autoapi-nested-parse:: Shared base class for AiiDA Data nodes that wrap a Euphonic object. Euphonic's core objects (``ForceConstants``, ``QpointPhononModes``, ...) all expose a public JSON round-trip (``obj.to_json_file(path)`` / ``Cls.from_json_file(path)``); see https://euphonic.readthedocs.io/en/stable/ . We reuse that public serialisation and store the resulting JSON inside the AiiDA node's *repository* (file store) rather than the database, because force-constants arrays can be large. This keeps the DB light while preserving full provenance. AiiDA Data / repository API reference: https://aiida.readthedocs.io/projects/aiida-core/en/stable/topics/data_types.html Classes ------- .. autoapisummary:: aiida_pythonjob_ins.data.base.EuphonicJSONData Module Contents --------------- .. py:class:: EuphonicJSONData(euphonic_object: Any | None = None, **kwargs) Bases: :py:obj:`aiida.orm.Data` Store a single Euphonic object as JSON in the node repository. Subclasses set :attr:`_euphonic_cls` (the wrapped Euphonic class). The object is written on construction and read back lazily via :meth:`get_object`. .. py:method:: get_object() -> Any Reconstruct and return the wrapped Euphonic object. .. py:method:: from_json_file(filepath: str | pathlib.Path) -> Self :classmethod: Build a node directly from an existing Euphonic JSON file.