aiida_pythonjob_ins.data.base

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

EuphonicJSONData

Store a single Euphonic object as JSON in the node repository.

Module Contents

class aiida_pythonjob_ins.data.base.EuphonicJSONData(euphonic_object: Any | None = None, **kwargs)[source]

Bases: aiida.orm.Data

Store a single Euphonic object as JSON in the node repository.

Subclasses set _euphonic_cls (the wrapped Euphonic class). The object is written on construction and read back lazily via get_object().

get_object() Any[source]

Reconstruct and return the wrapped Euphonic object.

classmethod from_json_file(filepath: str | pathlib.Path) Self[source]

Build a node directly from an existing Euphonic JSON file.