ds_provider_xledger_py_lib.serde.deserializer ============================================= .. py:module:: ds_provider_xledger_py_lib.serde.deserializer .. autoapi-nested-parse:: **File:** ``deserializer.py`` **Region:** ``ds_provider_xledger_py_lib/serde`` Description ----------- Deserialize GraphQL responses into tabular dataframe outputs. Classes ------- .. autoapisummary:: ds_provider_xledger_py_lib.serde.deserializer.XledgerDeserializer Functions --------- .. autoapisummary:: ds_provider_xledger_py_lib.serde.deserializer._root_payload ds_provider_xledger_py_lib.serde.deserializer._connection_payload ds_provider_xledger_py_lib.serde.deserializer._resolve_output_columns Module Contents --------------- .. py:class:: XledgerDeserializer Bases: :py:obj:`ds_resource_plugin_py_lib.common.serde.deserialize.base.DataDeserializer` Parse GraphQL responses into dataframes using operation metadata. .. py:method:: __call__(value: Any, **kwargs: Any) -> pandas.DataFrame Deserialize a GraphQL response body. :param value: GraphQL response body. :param \*\*kwargs: Compatibility kwargs. Requires ``metadata`` and ``operation_settings``. :returns: Parsed dataframe output. .. py:method:: get_next(value: Any, **kwargs: Any) -> bool Return ``hasNextPage`` from a read response payload. :param value: GraphQL response body. :param \*\*kwargs: Compatibility kwargs. Requires ``metadata``. :returns: ``True`` when there is a next page. .. py:method:: get_end_cursor(value: Any, **kwargs: Any) -> str | None Return last edge cursor from a read response payload. :param value: GraphQL response body. :param \*\*kwargs: Compatibility kwargs. Requires ``metadata``. :returns: Last cursor when available, otherwise ``None``. .. py:function:: _root_payload(*, payload: dict[str, Any], metadata: ds_provider_xledger_py_lib.utils.introspection.MetaData) -> Any Extract operation root payload under ``data[metadata.name]``. :param payload: GraphQL response payload. :param metadata: Operation metadata carrying the root field name. :returns: Root payload object when present; otherwise ``None``. .. py:function:: _connection_payload(*, payload: dict[str, Any], metadata: ds_provider_xledger_py_lib.utils.introspection.MetaData) -> dict[str, Any] Extract standardized connection payload for read operations. :param payload: GraphQL response payload. :param metadata: Read operation metadata. :returns: Connection object when found; otherwise an empty dictionary. .. py:function:: _resolve_output_columns(*, metadata: ds_provider_xledger_py_lib.utils.introspection.MetaData, operation_settings: Any) -> list[str] Resolve output columns from operation settings and metadata. :param metadata: Loaded operation metadata. :param operation_settings: Operation settings object. :returns: Ordered output columns to apply in dataframe construction.