aiida_pythonjob_ins.serialization

Bridges between Euphonic objects and our AiiDA Data nodes for aiida-pythonjob.

aiida-pythonjob converts a plain Python function into an AiiDA process. To do so it must (de)serialize the function’s inputs/outputs to/from AiiDA nodes:

  • serializers map a Python type (module.ClassName) to a callable that returns an aiida.orm.Data node. Our Data classes already accept the Euphonic object in their constructor (ForceConstantsData(fc, user=...)), so the class itself is a valid serializer.

  • deserializers map an AiiDA node type back to the Python object the function expects.

We pass these dicts explicitly via prepare_pythonjob_inputs(serializers=..., deserializers=...) rather than registering extra entry points, keeping the aiida.data entry points clean (one per Data class). See https://aiida-pythonjob.readthedocs.io/ (data serialization).

Attributes

Functions

kpoints_data_to_qpoints(→ numpy.ndarray)

Deserializer: KpointsData node -> fractional q-points array.

spectrum1d_to_xydata_node(→ Any)

Serializer: euphonic Spectrum1D -> XyData (user per the call convention).

spectrum_collection_to_xydata_node(→ Any)

Serializer: euphonic Spectrum1DCollection -> XyData (user per convention).

force_constants_from_node(→ Any)

Deserializer: ForceConstantsData node -> euphonic.ForceConstants.

qpoint_phonon_modes_from_node(→ Any)

Deserializer: QpointPhononModesData node -> euphonic.QpointPhononModes.

Module Contents

aiida_pythonjob_ins.serialization.EUPHONIC_SERIALIZERS: dict[str, str]
aiida_pythonjob_ins.serialization.EUPHONIC_DESERIALIZERS: dict[str, str]
aiida_pythonjob_ins.serialization.kpoints_data_to_qpoints(node: aiida.orm.KpointsData) numpy.ndarray[source]

Deserializer: KpointsData node -> fractional q-points array.

aiida_pythonjob_ins.serialization.spectrum1d_to_xydata_node(spectrum: Any, user: Any = None) Any[source]

Serializer: euphonic Spectrum1D -> XyData (user per the call convention).

aiida_pythonjob_ins.serialization.spectrum_collection_to_xydata_node(spectrum: Any, user: Any = None) Any[source]

Serializer: euphonic Spectrum1DCollection -> XyData (user per convention).

aiida_pythonjob_ins.serialization.force_constants_from_node(node: aiida_pythonjob_ins.data.ForceConstantsData) Any[source]

Deserializer: ForceConstantsData node -> euphonic.ForceConstants.

aiida_pythonjob_ins.serialization.qpoint_phonon_modes_from_node(node: aiida_pythonjob_ins.data.QpointPhononModesData) Any[source]

Deserializer: QpointPhononModesData node -> euphonic.QpointPhononModes.