This tool eases data sharing with the Open Energy Platform (OEP). Common tasks on the OEP are:
- creating a table
- uploading data
- updating a table's metadata
- downloading data
- retrieving a table's metadata
- deleting a table (that you created)
You can also always just use the API directly if your tasks are more complex.
All the example commands below use python3, because we need python 3. Under
Windows, it's most likely to be python.exe or just python.
Install package oep-client from python package index with pip:
python3 -m pip install --upgrade oep-clientYou need to be registered on the OEP platform and have a valid API token. You can find your token in your user profile on the OEP under Your Security Information.
There is a short test script that creates a table on the platform, uploads data and metadata, downloads them again and finally deletes the table.
You can run it either directly from the command prompt using
oep-client -t OEP_API_TOKEN testSupported filetypes that the client can work with are are: xslx, csv, json. Your metadata must be a json file that complies with the metadata specification of the OEP.
All tasks can be executed either directly as a comand line script (CLI)
oep-client that comes with this package, or in a python environment.
The CLI is very handy for standardized tasks as it requires just one command line, but is somewhat limited when for instance your input data is not in a very specific format. To see avaiblabe command line options, use
oep-client --helpIn a python environment, you have more flexibility to prepare / clean your data before uploading it.
Requires a valid metadata file.
You need to specify names and data types of your columns in the metadata, which also must be valid postgres data types.
metadata.json
{
"resources": [
{
"schema": {
"fields": [
{
"name": "id",
"type": "bigserial"
},
{
"name": "field_1",
"type": "varchar(32)",
"description": "column description",
"unit": "unit name"
}
]
}
}
]
}oep-client -t OEP_API_TOKEN create TABLE_NAME metadata.jsonoep-client -t OEP_API_TOKEN insert TABLE_NAME FILENAMEif FILENAME is a
xlsx, you have to also specify--sheet SHEETNAMEcsv, you may also specify--delimiter DELIMITERand or--encoding ENCODING
This of course requires a valid metadata file.
oep-client -t OEP_API_TOKEN metadata set TABLE_NAME metadata.jsonNote: you do not need an API_TOKEN to downlad data
oep-client -t OEP_API_TOKEN select TABLE_NAME FILENAMEif FILENAME is a
xlsx, you have to also specify--sheet SHEETNAMEcsv, you may also specify--delimiter DELIMITERand or--encoding ENCODING
Note: you do not need an API_TOKEN to downlad metadata.
oep-client -t OEP_API_TOKEN metadata get TABLE_NAME FILENAMEoep-client -t OEP_API_TOKEN drop TABLE_NAMEAll examples assume that you import the package and create a client instance first:
from oep_client import OepClient
cl = OepClient(token='API_TOKEN', ...)