API for CSV converted by udata-hydra
Project description
Api-tabular
This connects to udata-hydra and serves the converted CSVs as an API.
Run locally
Start udata-hydra via docker compose
.
Launch this project:
docker compose up
You can now access the raw postgrest API on http://localhost:8080.
Now you can launch the proxy (ie the app):
poetry install
poetry run adev runserver -p8005 api_tabular/app.py # Api related to apified CSV files by udata-hydra
poetry run adev runserver -p8005 api_tabular/metrics.py # Api related to udata's metrics
And query postgrest via the proxy using a resource_id
, cf below. Test resource_id is 27d469ff-9908-4b7e-a2e0-9439bb38a395
API
Meta informations on resource
curl http://localhost:8005/api/resources/27d469ff-9908-4b7e-a2e0-9439bb38a395/
{
"created_at": "2023-02-11T11:44:03.875615+00:00",
"url": "https://data.toulouse-metropole.fr//explore/dataset/boulodromes/download?format=csv&timezone=Europe/Berlin&use_labels_for_header=false",
"links": [
{
"href": "/api/resources/27d469ff-9908-4b7e-a2e0-9439bb38a395/profile/",
"type": "GET",
"rel": "profile"
},
{
"href": "/api/resources/27d469ff-9908-4b7e-a2e0-9439bb38a395/data/",
"type": "GET",
"rel": "data"
}
]
}
Profile (csv-detective output) for a resource
curl http://localhost:8005/api/resources/27d469ff-9908-4b7e-a2e0-9439bb38a395/profile/
{
"profile": {
"header": [
"geo_point_2d",
"geo_shape",
"ins_nom",
"ins_complexe_nom_cplmt",
"ins_codepostal",
"secteur",
"..."
]
},
"...": "..."
}
Data for a resource (ie resource API)
curl http://localhost:8005/api/resources/27d469ff-9908-4b7e-a2e0-9439bb38a395/data/
{
"data": [
{
"__id": 1,
"geo_point_2d": "43.58061543292057,1.401751073689455",
"geo_shape": {
"coordinates": [
[
1.401751073689455,
43.58061543292057
]
],
"type": "MultiPoint"
},
"ins_nom": "BOULODROME LOU BOSC",
"ins_complexe_nom_cplmt": "COMPLEXE SPORTIF DU MIRAIL",
"ins_codepostal": 31100,
"secteur": "Toulouse Ouest",
"quartier": 6.3,
"acces_libre": null,
"ins_nb_equ": 1,
"ins_detail_equ": "",
"ins_complexe_nom": "",
"ins_adresse": "",
"ins_commune": "",
"acces_public_horaires": null,
"acces_club_scol": null,
"ins_nom_cplmt": "",
"ins_id_install": ""
}
],
"links": {
"next": "/api/resources/60963939-6ada-46bc-9a29-b288b16d969b/data/?page=2&page_size=1",
"prev": null,
"profile": "/api/resources/60963939-6ada-46bc-9a29-b288b16d969b/profile/"
},
"meta": {"page": 1, "page_size": 1, "total": 2}
}
This endpoint can be queried with the following operators as query string:
# sort by column
column_name__sort=asc
column_name__sort=desc
# contains
column_name__contains=word
# exacts
column_name__exact=word
# less
column_name__less=12
# greater
column_name__greater=12
Pagination is made throught queries with page
and page_size
:
curl http://localhost:8005/api/resources/27d469ff-9908-4b7e-a2e0-9439bb38a395/data/?page=2&page_size=30
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for udata_hydra_csvapi-0.1.0.dev222.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69c720c1d40456a5d5939a5f6ce444dcec384fcafd4dd1d9b5265a4f49f2c7d3 |
|
MD5 | bf9f41c209f0d2cc312715b3a0bda36c |
|
BLAKE2b-256 | b85b20afd8521f854b24822cc291cdb644c1af9c6d59f256a57527fefe4cf40a |
Close
Hashes for udata_hydra_csvapi-0.1.0.dev222-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d2c46070d98544cd1a0fc326392d6bb5e97a593f683c1694baf3d03fbf2822b |
|
MD5 | ca55e78a5c20aef069abc06d3ecada45 |
|
BLAKE2b-256 | 9e304198d9c83a708a9be2e7b80979e74e65711e54a6c49d7c7e7cfc1eef9617 |