aiida_pythonjob_ins.serialization ================================= .. py:module:: aiida_pythonjob_ins.serialization .. autoapi-nested-parse:: 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 ---------- .. autoapisummary:: aiida_pythonjob_ins.serialization.EUPHONIC_SERIALIZERS aiida_pythonjob_ins.serialization.EUPHONIC_DESERIALIZERS Functions --------- .. autoapisummary:: aiida_pythonjob_ins.serialization.kpoints_data_to_qpoints aiida_pythonjob_ins.serialization.spectrum1d_to_xydata_node aiida_pythonjob_ins.serialization.spectrum_collection_to_xydata_node aiida_pythonjob_ins.serialization.force_constants_from_node aiida_pythonjob_ins.serialization.qpoint_phonon_modes_from_node Module Contents --------------- .. py:data:: EUPHONIC_SERIALIZERS :type: dict[str, str] .. py:data:: EUPHONIC_DESERIALIZERS :type: dict[str, str] .. py:function:: kpoints_data_to_qpoints(node: aiida.orm.KpointsData) -> numpy.ndarray Deserializer: KpointsData node -> fractional q-points array. .. py:function:: spectrum1d_to_xydata_node(spectrum: Any, user: Any = None) -> Any Serializer: euphonic Spectrum1D -> XyData (``user`` per the call convention). .. py:function:: spectrum_collection_to_xydata_node(spectrum: Any, user: Any = None) -> Any Serializer: euphonic Spectrum1DCollection -> XyData (``user`` per convention). .. py:function:: force_constants_from_node(node: aiida_pythonjob_ins.data.ForceConstantsData) -> Any Deserializer: ForceConstantsData node -> euphonic.ForceConstants. .. py:function:: qpoint_phonon_modes_from_node(node: aiida_pythonjob_ins.data.QpointPhononModesData) -> Any Deserializer: QpointPhononModesData node -> euphonic.QpointPhononModes.