Restful Python SDMX API and viewer.
Budget: $2 – $8 USD
I'm looking for an experienced Python coder to create a SDMX 2.1 Restful API and viewer application using the Python pandasSDMX library.
The API will have commands to connect, list the Datasources, categories, datasets and values using a SDMX 2.1 RESTful web service API.
Each SDMX web service provides a subset of the full SDMX feature set, so the same request made to two different sources may yield different results, or an error message.
Errors need to be handled as described on (https://sdmx1.readthedocs.io/en/latest/sources.html) and any error messages clearly displayed.
I need a viewer application showcase theAPI. It can connect to datasources an allow me to navigate through its tree and metadata to view any timeseries data.
There is an EasyUI demo that looks perfect for this as it has a tree and 2 other tabs - all in 36 lines of code at: https://jeasyui.com/demo/main/index.php?plugin=Tabs&theme=material-teal&dir=ltr&pitem=&sort=asc
he viewer will be a web page that works in "discovery" mode to connect to any SDMX database and show its datasources, categories, datasets and values using the new API. We want to use JSON as default but we can discuss using XML or TSV if JSON is not supported. I have described the viewer below.
The goal of the project is to discover and display time series data from various datasources using the new API. We will want to update these time series so will need to know the latest available date range for a series (I will save them as JSON) using the new API once downloaded. Perhaps metadata can be cached?
You will need a good knowledge of SDMX 2.1(see links below) and my rough viewerdesign specification below may need to change based on practical/SDMX requirements.
We will want to test with ALL the SDMX datasources listed in the "component" link below.
Component: https://pandasdmx.readthedocs.io/en/latest/
Getting Started: https://sdmx1.readthedocs.io/en/latest/index.html
More information: https://docs.sdmxthon.meaningfuldata.eu/
Thanks
Don
The Viewer Application
We will use the pandasSDMX package to access the SDMX data and I suggest EasyUI for the GUI. There is an EasyUI demo that has a tree and 2 other tabs - all in 36 lines of code at: https://jeasyui.com/demo/main/index.php?plugin=Tabs&theme=material-teal&dir=ltr&pitem=&sort=asc
The application will have 3 tabs.
Tab 1
Allows us to connect to a database and view the metadata (in a tree and grid) and select a time series to view from the grid. It will have a top collapsible panel to select the database ( from a JSON list that we will create) and vire/edit any login credentials to use to connect. Under this panel there will be a tree component on left, a vertical splitter and a grid component on right side showing available time series in the selected datasource/categorytree node.If no category informtion available we hide the tree & splitter.
Tab 2 contains a session log of all requests and results sent to/from all servers
Tab 3 contains 2 tabs "Time Series" and "JSON". Timeseries tab has a grid to show the timeseries and the JSON tab has a JSON viewer of the selected timeseries (selected in tab 1). We have a JSON viewer we use.
The API will have commands to connect, list the Datasources, categories, datasets and values using a SDMX 2.1 RESTful web service API.
Each SDMX web service provides a subset of the full SDMX feature set, so the same request made to two different sources may yield different results, or an error message.
Errors need to be handled as described on (https://sdmx1.readthedocs.io/en/latest/sources.html) and any error messages clearly displayed.
I need a viewer application showcase theAPI. It can connect to datasources an allow me to navigate through its tree and metadata to view any timeseries data.
There is an EasyUI demo that looks perfect for this as it has a tree and 2 other tabs - all in 36 lines of code at: https://jeasyui.com/demo/main/index.php?plugin=Tabs&theme=material-teal&dir=ltr&pitem=&sort=asc
he viewer will be a web page that works in "discovery" mode to connect to any SDMX database and show its datasources, categories, datasets and values using the new API. We want to use JSON as default but we can discuss using XML or TSV if JSON is not supported. I have described the viewer below.
The goal of the project is to discover and display time series data from various datasources using the new API. We will want to update these time series so will need to know the latest available date range for a series (I will save them as JSON) using the new API once downloaded. Perhaps metadata can be cached?
You will need a good knowledge of SDMX 2.1(see links below) and my rough viewerdesign specification below may need to change based on practical/SDMX requirements.
We will want to test with ALL the SDMX datasources listed in the "component" link below.
Component: https://pandasdmx.readthedocs.io/en/latest/
Getting Started: https://sdmx1.readthedocs.io/en/latest/index.html
More information: https://docs.sdmxthon.meaningfuldata.eu/
Thanks
Don
The Viewer Application
We will use the pandasSDMX package to access the SDMX data and I suggest EasyUI for the GUI. There is an EasyUI demo that has a tree and 2 other tabs - all in 36 lines of code at: https://jeasyui.com/demo/main/index.php?plugin=Tabs&theme=material-teal&dir=ltr&pitem=&sort=asc
The application will have 3 tabs.
Tab 1
Allows us to connect to a database and view the metadata (in a tree and grid) and select a time series to view from the grid. It will have a top collapsible panel to select the database ( from a JSON list that we will create) and vire/edit any login credentials to use to connect. Under this panel there will be a tree component on left, a vertical splitter and a grid component on right side showing available time series in the selected datasource/categorytree node.If no category informtion available we hide the tree & splitter.
Tab 2 contains a session log of all requests and results sent to/from all servers
Tab 3 contains 2 tabs "Time Series" and "JSON". Timeseries tab has a grid to show the timeseries and the JSON tab has a JSON viewer of the selected timeseries (selected in tab 1). We have a JSON viewer we use.