Read standard formats¶
reader.csv: Read SDMX-CSV¶
sdmx.reader.csv supports SDMX-CSV 2.0.0, corresponding to SDMX 3.0.0.
See SDMX-CSV for differences between versions of the SDMX-CSV file format.
Implementation details:
Reader.inspect_header()inspects the header line in the CSV input and constructs a set ofHandlerinstances, one for each field appearing in the particular file. Some of these handlers do actually process the contents of the field, but silently discard it; for example, whenlabels="name", the name fields are not processed.Reader.handle_row()is applied to every record in the CSV input. Each Handler is applied to its respective field. Everyhandle_row()call constructs a singleObservation.Reader.read_message()assembles the resulting observations into one or moreDataSets. SDMX-CSV 2.0.0 specifies a mix of codes such as “I” (ActionType.information) and “D” (ActionType.delete) in the “ACTION” field for each observation in the same file, whereas the SDMX IM specifies thatactionis an attribute of an entire DataSet.Readergroups all observations into 1 or more DataSet instances, according to their respective “ACTION” field values.
Currently reader.csv has the following limitations:
Reader.read_message()generates SDMX 3.0.0 (model.v30) artefacts such asv30.DataSet, since these correspond to the supported SDMX-CSV 2.0.0 format. It is not currently supported to generate SDMX 2.1 artefacts such asv21.DataSet.Currently only a single :class`.v30.Dataflow` or
v30.DataStructureDefinitioncan be supplied toReader.read_message(). The SDMX-CSV 2.0.0 format supports mixing data flows and data structures in the same message. Such messages can be read withsdmx, but the resulting data sets will only correspond to the given data flow.
- class sdmx.reader.csv.AttributeValue(attribute, multi: bool)[source]¶
Bases:
HandlerHandle a
v30.AttributeValuefor oneDataAttribute.The attribute value is attached to the obs.
- class sdmx.reader.csv.Custom(header: str)[source]¶
Bases:
HandlerHandler for custom columns.
Currently values are ignored.
Todo
Store as
Annotationor temporary attribute values on obs.
- class sdmx.reader.csv.DataFrameConverter[source]¶
Bases:
Converter- convert(data: pandas.DataFrame, structure=None, **kwargs) sdmx.message.DataMessage[source]¶
Convert data.
- class sdmx.reader.csv.Handler[source]¶
Bases:
ABCBase class for
Reader.handlers.Todo
Unify with
convert.pandas.Column.
- class sdmx.reader.csv.Name[source]¶
Bases:
HandlerHandler for
Options.labels == "name"columns.Does nothing; the values are not stored.
- class sdmx.reader.csv.ObsKey[source]¶
Bases:
NotHandled“OBS_KEY” columns are currently not handled.
- class sdmx.reader.csv.ObsValue(measure, **kwargs)[source]¶
Bases:
HandlerHandle the
Observation.value.In line with
model.v30, multiple values (for data structures with multiple measures) are currently not handled.
- class sdmx.reader.csv.Reader[source]¶
Bases:
BaseReaderRead SDMX-CSV 2.x.
- handlers: Sequence[Handler][source]¶
Handlers for individual fields in a CSV record. This collection has exactly the same number of handlers as columns in the data passed to
convert().
- inspect_header(header: list[str]) None[source]¶
Inspect the SDMX-CSV header and determine the format
Options.- Raises:
ValueError – if the data contain malformed SDMX-CSV 2.0.0.
- class sdmx.reader.csv.SeriesKeyHandler[source]¶
Bases:
NotHandled“SERIES_KEY” columns are currently not handled.
reader.json: Read SDMX-JSON¶
SDMX-JSON v2.1 reader
- class sdmx.reader.json.Reader[source]¶
Read SDMX-JSON and expose it as instances from
sdmx.model.- binary_content_startswith: ClassVar[bytes | None] = b'{'[source]¶
First byte(s) of file or response body content, used by
handles().
- convert(data, structure=None, **kwargs)[source]¶
Convert data to an instance of an SDMX Message subclass.
- Parameters:
data (
file-like) – Message content.structure –
DataStructureorMetadataStructurefor aid in reading source.
- Returns:
An instance of a Message subclass.
- Return type:
- classmethod detect(content)[source]¶
Detect whether the reader can handle content.
Deprecated since version 2.20.0: Use
handles()instead.
- media_types: ClassVar[list[MediaType]] = [application/vnd.sdmx.data+json; version=1.0.0, application/vnd.sdmx.structure+json; version=1.0.0, application/vnd.sdmx.draft-sdmx-json+json; version=1.0.0, draft-sdmx-json; version=1.0.0, text/json; version=1.0.0][source]¶
List of media types, used by
handles().
reader.xml: Read SDMX-ML¶
sdmx.reader.xml supports the several types of SDMX-ML messages.
Implementation details:
The collections of
StructureMessage(e.g.StructureMessage.codelist) are implemented bysdmxasDictLike, withstrkeys, for convenience; the standard would imply these could be other collections, such as a simplelist. The format of the keys in each collection depends on the content of the message parsed byreader.xml:Simply
{object.id}(IdentifiableArtefact.id) of the contained objects, if these are unique;Otherwise
{maintainer.id}:{object.id}(using theAgencyid) if these are unique;Otherwise
{maintainer.id}:{object.id}({object.version})(using theVersionableArtefact.version).
This ensures that all objects in a parsed message are accessible.
SDMX-ML v2.1 reader.
- class sdmx.reader.xml.v21.Reader[source]¶
SDMX-ML 2.1 reader.
- format = <module 'sdmx.format.xml.v21' from '/home/docs/checkouts/readthedocs.org/user_builds/sdmx1/envs/stable/lib/python3.13/site-packages/sdmx/format/xml/v21.py'>[source]¶
Reference to the module defining the format read.
- media_types = [application/vnd.sdmx.generic+xml; version=2.1, application/vnd.sdmx.genericdata+xml; version=2.1, application/vnd.sdmx.genericmetadata+xml; version=2.1, application/vnd.sdmx.generictimeseriesdata+xml; version=2.1, application/vnd.sdmx.schema+xml; version=2.1, application/vnd.sdmx.structure+xml; version=2.1, application/vnd.sdmx.structurespecificdata+xml; version=2.1, application/vnd.sdmx.structurespecificmetadata+xml; version=2.1, application/vnd.sdmx.structurespecifictimeseriesdata+xml; version=2.1, application/xml; version=2.1, text/xml; version=2.1][source]¶
List of media types, used by
handles().
- model = <module 'sdmx.model.v21' from '/home/docs/checkouts/readthedocs.org/user_builds/sdmx1/envs/stable/lib/python3.13/site-packages/sdmx/model/v21.py'>[source]¶
Reference to the module defining the information model read.
- parser = {(<lxml.etree.QName object>, 'end'): <function _as_end>, (<lxml.etree.QName object>, 'start'): <function _as_start>, (<lxml.etree.QName object>, 'end'): <function _group>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _obs_ss>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _rv>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _md_report>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _series>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _tov>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _a>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ms>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _p>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ms>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _p>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _st>, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _tr>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _avs>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _group>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _key1>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _obs>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _key1>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _series>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _key1>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _footer>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _contact_end>, (<lxml.etree.QName object>, 'start'): <function _contact_start>, (<lxml.etree.QName object>, 'end'): <function _ds_end>, (<lxml.etree.QName object>, 'start'): <function _ds_start>, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): <function _datetime>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): <function _header>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _mds_end>, (<lxml.etree.QName object>, 'start'): <function _mds_start>, (<lxml.etree.QName object>, 'end'): <function _datetime>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _header_org>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _datetime>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _datetime>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _header_org>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _header_structure>, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): <function _structures>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _as_end>, (<lxml.etree.QName object>, 'start'): <function _as_start>, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _rv>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _md_report>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ra>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _tov>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ar>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _cat>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _item_map>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ismap_end>, (<lxml.etree.QName object>, 'start'): <function _ismap_start>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _concept>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _contact_end>, (<lxml.etree.QName object>, 'start'): <function _contact_start>, (<lxml.etree.QName object>, 'end'): <function _cc>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _rep>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _cr>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ct>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _dks>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _structure_end>, (<lxml.etree.QName object>, 'start'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _facet>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _vtlm_from>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function _hc_end>, (<lxml.etree.QName object>, 'start'): <function _hc_start>, (<lxml.etree.QName object>, 'end'): <function _hcl>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _h_end>, (<lxml.etree.QName object>, 'start'): <function _h_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function _icl>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _key0>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _rep>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _structure_end>, (<lxml.etree.QName object>, 'start'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _np>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ar_kind>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _rs>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ss>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _facet>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function _vtlm_to>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _trans>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ts>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _udo>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _vtlm>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None}[source]¶
Mapping from (QName, [“start”, “end”]) to a function that parses the element/event or else None (no parsing).
- class sdmx.reader.xml.v21.Reference(reader: XMLEventReader, elem, cls_hint: type | None = None)[source]¶
- sdmx.reader.xml.v21.add_mds_events(reader: Reader, mds: BaseMetadataStructureDefinition)[source]¶
Add parser events for structure-specific metadata.
SDMX-ML 3.0.0 reader.
- class sdmx.reader.xml.v30.MetadataAttributeRef(urn: str)[source]¶
Reference class for
MetadataAttributeUsageonly.
- class sdmx.reader.xml.v30.Reader[source]¶
SDMX-ML 3.0 reader.
- class Reference(reader: XMLEventReader, elem, cls_hint: type | None = None)[source]¶
Parse SDMX-ML 3.x references.
- format = <module 'sdmx.format.xml.v30' from '/home/docs/checkouts/readthedocs.org/user_builds/sdmx1/envs/stable/lib/python3.13/site-packages/sdmx/format/xml/v30.py'>[source]¶
Reference to the module defining the format read.
- media_types = [application/vnd.sdmx.data+xml; version=3.0.0, application/vnd.sdmx.structure+xml; version=3.0.0][source]¶
List of media types, used by
handles().
- model = <module 'sdmx.model.v30' from '/home/docs/checkouts/readthedocs.org/user_builds/sdmx1/envs/stable/lib/python3.13/site-packages/sdmx/model/v30.py'>[source]¶
Reference to the module defining the information model read.
- parser = {(<lxml.etree.QName object>, 'end'): <function _as_end>, (<lxml.etree.QName object>, 'start'): <function _as_start>, (<lxml.etree.QName object>, 'end'): <function _complex>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _group>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _obs_ss>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _rv>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _md_report>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _series>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _tov>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _complex_value>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _a>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ms>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _p>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ms>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _link>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _p>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _st>, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _tr>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _avs>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _group>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _key1>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _obs>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _key1>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _series>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _key1>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _footer>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _contact_end>, (<lxml.etree.QName object>, 'start'): <function _contact_start>, (<lxml.etree.QName object>, 'end'): <function _ds_end>, (<lxml.etree.QName object>, 'start'): <function _ds_start>, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): <function _datetime>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): <function _header>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _mds_end>, (<lxml.etree.QName object>, 'start'): <function _mds_start>, (<lxml.etree.QName object>, 'end'): <function _datetime>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _header_org>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _datetime>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _datetime>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _header_org>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _header_structure>, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): <function _message>, (<lxml.etree.QName object>, 'end'): <function _structures>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _as_end>, (<lxml.etree.QName object>, 'start'): <function _as_start>, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _rv>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _md_report>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ra>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _tov>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ar>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _cat>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _item_map>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _cl>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _cl_ext>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ismap_end>, (<lxml.etree.QName object>, 'start'): <function _ismap_start>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _concept>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _contact_end>, (<lxml.etree.QName object>, 'start'): <function _contact_start>, (<lxml.etree.QName object>, 'end'): <function _cc>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _rep>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _cr>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ct>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _cc>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _dks>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _structure_end>, (<lxml.etree.QName object>, 'start'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _facet>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _code_selection>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _vtlm_from>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function _ggc_end>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function _ggcl>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function _hc_end>, (<lxml.etree.QName object>, 'start'): <function _hc_start>, (<lxml.etree.QName object>, 'end'): <function _hcl>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _h>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function _icl>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _code_selection>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _key0>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function _ms>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _rep>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _mv>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _mau>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _structure_end>, (<lxml.etree.QName object>, 'start'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _np>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ar_kind>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ar_kind>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _localization>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _rs>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ss>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ref>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _facet>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _component_start>, (<lxml.etree.QName object>, 'end'): <function _vtlm_to>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _trans>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _ts>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _udo>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): <function _item_start>, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _vtlm>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function XMLEventReader.possible_reference.<locals>.decorator.<locals>.wrapped>, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): None, (<lxml.etree.QName object>, 'start'): None, (<lxml.etree.QName object>, 'end'): <function _text>, (<lxml.etree.QName object>, 'start'): None}[source]¶
Mapping from (QName, [“start”, “end”]) to a function that parses the element/event or else None (no parsing).
Reader API¶
- sdmx.reader.CONVERTER = [<class 'sdmx.reader.csv.DataFrameConverter'>, <class 'sdmx.reader.csv.Reader'>, <class 'sdmx.reader.json.Reader'>, <class 'sdmx.reader.xml.Reader'>][source]¶
All converters. Application code may extend this collection with custom sub-classes of
Converter.
- sdmx.reader.READERS = [<class 'sdmx.reader.csv.Reader'>, <class 'sdmx.reader.json.Reader'>, <class 'sdmx.reader.xml.Reader'>][source]¶
Only Readers for standard SDMX formats.
- sdmx.reader.detect_content_reader(content) type[sdmx.reader.base.BaseReader][source]¶
Return a reader class for
bytescontent.Deprecated since version 2.20.0: Use
get_reader()instead.
- sdmx.reader.get_converter(data: Any, kwargs: dict | None = None) type[sdmx.reader.base.Converter][source]¶
Identify a
ConverterorReaderfor data.For each class in
CONVERTER, theConverter.handles()orBaseReader.handles()method is called with data and kwargs.data may include:
bytes—same behaviour as deprecateddetect_content_reader().requests.Response—same behaviour as deprecatedget_reader_for_media_type().pathlib.Path—same behaviour as deprecatedget_reader_for_path().
…or, anything else that is handled by a class listed in
CONVERTER.- Raises:
ValueError – if none of the Converter classes can convert data and kwargs to SDMX.
- sdmx.reader.get_reader(data: ~typing.Any, kwargs: dict | None = None, _classes: list[type[sdmx.reader.base.BaseReader]] = [<class 'sdmx.reader.csv.Reader'>, <class 'sdmx.reader.json.Reader'>, <class 'sdmx.reader.xml.Reader'>]) type[sdmx.reader.base.BaseReader][source]¶
Identify a
Readerfor data.Identical to
get_converter(), except onlyREADERSfor SDMX standard formats are returned.
- sdmx.reader.get_reader_for_media_type(value) type[sdmx.reader.base.BaseReader][source]¶
Return a reader class for HTTP content/media type value.
Deprecated since version 2.20.0: Use
get_reader()instead.
- sdmx.reader.get_reader_for_path(path) type[sdmx.reader.base.BaseReader][source]¶
Return a reader class for file path.
Deprecated since version 2.20.0: Use
get_reader()instead.
- sdmx.reader.read_sdmx(filename_or_obj: bytes | str | Path | io.IOBase | io.BufferedReader, format: str | None = None, **kwargs) sdmx.message.Message[source]¶
Read a
Messagefrom a path, file, or stream in an SDMX standard format.To identify whether filename_or_obj contains SDMX-CSV, SDMX-JSON, or SDMX-ML,
BaseReader.handles()is called.- Parameters:
filename_or_obj –
may include:
strorpathlib.Path: path to a particular file.bytes: raw/binary SDMX content.io.IOBase: a buffer, opened file, or other I/O object containing binary SDMX content.
format (
'CSV','XML', or'JSON', optional) – force handling filename_or_obj as if it had the given extension, even ifhandles()fails to match.structure –
Structure,StructureUsage, or other information used by aBaseReaderto interpret the content of filename_or_obj. For example, theDataStructureDefinitionfor a structure-specific SDMX-ML message.
- class sdmx.reader.base.BaseReader[source]¶
Converter of file/binary data from SDMX formats to
modelobjects.- binary_content_startswith: ClassVar[bytes | None] = None[source]¶
First byte(s) of file or response body content, used by
handles().
- convert(data, structure: Structure | None = None, **kwargs) sdmx.message.Message[source]¶
Convert data to an instance of an SDMX Message subclass.
- Parameters:
data (
file-like) – Message content.structure –
DataStructureorMetadataStructurefor aid in reading source.
- Returns:
An instance of a Message subclass.
- Return type:
- classmethod detect(content: bytes) bool[source]¶
Detect whether the reader can handle content.
Deprecated since version 2.20.0: Use
handles()instead.
- classmethod handles(data, kwargs)[source]¶
Return
Trueif the Reader can convert data using kwargs.The default implementation checks for any of the following conditions:
data is
pathlib.Pathand has one of the Reader’ssuffixes. The match is case-insensitive.data is
requests.Responseand itsheadersinclude acontent-typethat is matched by one of theMediaTypesin the Reader’media_types.data is
bytes,io.IOBase, orio.BufferedReaderand starts with the class’binary_content_startswith(if any). For theioclasses, this check is performed by ‘peeking’ at the content without changing the position in the file for a later call toconvert().