pysdmx
in a nutshell
What is pysdmx
?
pysdmx
is a pragmatic and opinionated SDMX library written in
Python. It focuses on simplicity, providing a subset of SDMX
functionalities without requiring advanced knowledge of SDMX.
For a quick overview of SDMX, read the “SDMX in 2 minutes” primer or refer to the SDMX documentation.
pysdmx
is developed as part of the sdmx.io
project under the
BIS Open Tech initiative.
What does it do?
pysdmx
aspires to be a versatile SDMX toolbox for Python, covering various
use cases. Here are some highlights:
SDMX information model in Python
pysdmx
offers Python classes representing a simplified subset of the
SDMX information model, enabling a domain-driven development of
SDMX processes in Python.
The model classes support serialization in formats like JSON
, YAML
,
or MessagePack
. This functionality relies on the msgspec library.
Please refer to its documentation, to
learn more about serialization and deserialization of domain classes.
Explore the SDMX information model classes in the API documentation. These classes are part of the core functionality and don’t require additional installations.
Metadata in action
SDMX metadata are very useful for documenting statistical processes. For example, we can define the structure we expect for a data collection process and share it with the organizations providing data so that they know what to send.
However, metadata can do so much more than that, i.e. they can be “active” and drive various types of statistical processes, such as:
pysdmx
supports retrieving metadata from an SDMX Registry or any service
compliant with the SDMX-REST 2.0.0 API.
Install pysdmx
with the fmr
extra to enable this functionality:
pip install pysdmx[fmr]
Data discovery and data retrieval
This functionality is under development. Once ready, pysdmx
will
allow:
Listing public SDMX services.
Discovering data available in these services.
Retrieving data from these services.
How can I get it?
pysdmx
is published on PyPI and can be
installed using your preferred method (pip
, pipx
, poetry
,
etc.).
For the core functionality, use:
pip install pysdmx
Some use cases require additional dependencies, which can be installed using
extras. For example,
to retrieve metadata from an SDMX Registry, install the fmr
extra:
pip install pysdmx[fmr]