https://github.com/dkgaraujo/simpledmx
A minimalistic experience with SDMX that fetches all data from sources
https://github.com/dkgaraujo/simpledmx
economic-data sdmx statistics
Last synced: 20 days ago
JSON representation
A minimalistic experience with SDMX that fetches all data from sources
- Host: GitHub
- URL: https://github.com/dkgaraujo/simpledmx
- Owner: dkgaraujo
- License: apache-2.0
- Created: 2022-02-12T17:24:08.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-02-14T17:48:04.000Z (over 4 years ago)
- Last Synced: 2026-04-17T11:45:05.658Z (about 2 months ago)
- Topics: economic-data, sdmx, statistics
- Language: Python
- Homepage:
- Size: 14.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# simpledmx
`simpledmx` is a minimalistic Python package experience with SDMX that fetches all data from sources defined by the user.
Although [SDMX](https://www.sdmx.org) is very flexible, the main use case of `simpledmx` is when a user wants to download all available data from a specific source(s), for a given frequency (eg, annual, semi-annual, quarterly, monthly, daily). `simpledmx` uses `pandasdmx` as the backend to explore and fetch datasets from sources using SDMX. Further details on the sources and dataflows can be found in the `pandasdmx` [documentation](https://pandasdmx.readthedocs.io/en/v1.0/).
## Install
`simpledmx` can be installed from pip:
```
$ pip install simpledmx
```
## Usage
Users are encouraged to first see the avaiable list of sources:
```
from simpledmx import list_sdmx_sources
list_sdmx_sources()
```
Once the desired sources have been identified, users can download a Pandas `DataFrame` with the following code:
```
from simpledmx import get_sdmx_data
df = get_sdmx_data(
start_date='2016',
end_date='2020',
freq='A',
sources=['BIS', 'ECB']
)
```
Two things should be noted:
* The speed depends on the amount of data to be parsed and downloaded. Depending on the request, it can get slow.
* Some sources do not provide messages in a way that the backend library, `pandasdmx`, is able to parse. Hence, some sources may not work.
## Known issues
* `simpledmx` returns only the data, not the variable names. The user can learn more about the specific data at hand from the column names: each variable starts with its source, then the dataflow, followed by the key(s) (except for the time period) of that specific dataflow.
* in some cases, parsing the files downloaded from the original sources can take a long time. This is an issue with XML parsing, not with `simpledmx` or its backend (`pandasdmx`) specifically.