API wrapper for data.gouv.fr
Project description
pygouv
pygouv is a non official Python API wrapper for data.gouv.fr, the French Official Open Data Portal.
Installation
You can install pygouv with:
pip install pygouv
Usage
from pygouv import *
home( )
Displays the datasets that are currently exhibited within the home page of the data.gouv.fr portal:
home()
| acronym | archived | badges | created_at | deleted | description | frequency | frequency_date | id | last_modified | ... | spatial.granularity | spatial.zones | spatial | extras.recommendations | extras.recommendations:sources | extras.apigouvfr:apis | extras.datafairDatasetId | extras.datafairOrigin | temporal_coverage.end | temporal_coverage.start | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | SI-DEP | None | [] | 2020-10-21T09:20:09.639000 | None | **Point d'attention : les difficultés de remon... | daily | 2020-10-22T09:19:41 | 5f8fe1290de5138270132602 | 2020-12-20T19:27:08.779000 | ... | fr:iris | [country:fr] | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 1 | SI-DEP | None | [] | 2020-09-29T15:32:39.020000 | None | **Point d'attention: Les difficultés de remont... | daily | 2020-10-15T14:19:14 | 5f733777722fc12a413290eb | 2020-12-20T19:27:11.047000 | ... | fr:epci | [country:fr] | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 2 | None | None | [] | 2020-06-17T11:16:00.320000 | None | ### Présentation des indicateurs de suivi\n\nL... | daily | 2020-10-29T15:46:30 | 5ee9df5003284f565d561278 | 2020-12-20T16:24:05.918000 | ... | NaN | NaN | NaN | [{'id': '5eaaf07f5abc47e306c5c258', 'score': 1... | [matomo] | NaN | NaN | NaN | NaN | NaN |
| 3 | None | None | [{'kind': 'covid-19'}] | 2020-03-27T15:40:10.048000 | None | **Point d'information :** Un établissement hos... | daily | 2020-03-28T15:39:51 | 5e7e104ace2080d9162b61d8 | 2020-12-20T19:06:25.164000 | ... | NaN | NaN | NaN | [{'id': '5e74ecf52eb7514f2d3b8845', 'score': 4... | [matomo] | NaN | NaN | NaN | NaN | NaN |
| 4 | None | None | [] | 2020-06-11T16:00:55.511000 | None | Le diagnostic de performance énergétique (DPE)... | unknown | None | 5ee2391763c79811ddfbc86a | 2020-10-28T09:53:44.306000 | ... | NaN | NaN | NaN | NaN | NaN | [{'logo': '/images/api-logo/ademe.png', 'openn... | dpe-france | https://koumoul.com/s/data-fair | NaN | NaN |
| 5 | None | None | [{'kind': 'covid-19'}] | 2020-04-20T17:20:30.636000 | None | ### Le fonds de solidarité \n\nDans le context... | daily | 2020-04-21T17:49:37 | 5e9dbdbe71589194c8f7b42f | 2020-12-07T17:59:34.038000 | ... | fr:departement | [country:fr] | NaN | NaN | NaN | NaN | NaN | NaN | 2020-12-31 | 2020-03-01 |
| 6 | SI-DEP | None | [] | 2020-05-29T16:10:35.407000 | None | **Point d'attention : Les difficultés de remon... | daily | 2020-10-22T09:53:26 | 5ed117db6c161bd5baf070be | 2020-12-20T19:20:29.771000 | ... | other | [country:fr] | NaN | [{'id': '5e7de8cf4663c08d4f74ba01', 'score': 8... | [matomo] | NaN | NaN | NaN | NaN | NaN |
| 7 | None | None | [] | 2020-09-28T16:44:09.669000 | None | Version : AGRIBALYSE® v3.0.1\n\nAGRIBALYSE® es... | unknown | None | 5f71f6b9f23df7fcd508af57 | 2020-11-24T17:19:10.789000 | ... | NaN | NaN | NaN | NaN | NaN | [{'logo': '/images/api-logo/ademe.png', 'openn... | agribalyse-synthese | https://koumoul.com/s/data-fair | NaN | NaN |
| 8 | None | None | [] | 2020-09-22T14:23:13.380000 | None | **Point d'attention : Depuis le 17/10/2020, le... | daily | 2020-09-23T14:20:21 | 5f69ecb155c43420918410b8 | 2020-12-21T00:30:59.566000 | ... | fr:departement | [country:fr] | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
9 rows × 46 columns
home() provides a pandas dataFrame with the following columns :
for col in home().columns:
print(col)
acronym
archived
badges
created_at
deleted
description
frequency
frequency_date
id
last_modified
last_update
license
owner
page
private
resources
slug
tags
temporal_coverage
title
uri
metrics.discussions
metrics.followers
metrics.issues
metrics.reuses
metrics.views
organization.acronym
organization.class
organization.id
organization.logo
organization.logo_thumbnail
organization.name
organization.page
organization.slug
organization.uri
spatial.geom
spatial.granularity
spatial.zones
spatial
extras.recommendations
extras.recommendations:sources
extras.apigouvfr:apis
extras.datafairDatasetId
extras.datafairOrigin
temporal_coverage.end
temporal_coverage.start
site_metrics( )
Provides global metrics related to the data.gouv.fr portal.
site_metrics()
| datasets | discussions | followers | max_dataset_followers | max_dataset_reuses | max_org_datasets | max_org_followers | max_org_reuses | max_reuse_datasets | max_reuse_followers | organizations | public-service | resources | reuses | users | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 36046 | 7628 | 24129 | 130 | 133 | 1017 | 572 | 114 | 74 | 324 | 2659 | 0 | 195826 | 2453 | 65663 |
search( )
Searches for specific data sets through the data.gouv API according to the pattern provided into the query parameter. It takes three arguments query, page and page_size:
srch = search(query='cafés à paris',
page = 0, # look at page 0 (the default)
page_size = 20) # pull 20 results
srch
| acronym | archived | badges | created_at | deleted | description | frequency | frequency_date | id | last_modified | ... | organization.logo_thumbnail | organization.name | organization.page | organization.slug | organization.uri | extras.datagouv_ckan_id | extras.datagouv_ckan_last_sync | spatial.geom | spatial.granularity | spatial.zones | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | None | None | [] | 2020-10-30T05:01:49.236000 | None | **Ce jeu de données recense les déclarations d... | unknown | None | 5f9b902d3784843c84d5f959 | 2020-10-29T18:36:54 | ... | https://static.data.gouv.fr/avatars/b2/0e83ec3... | Mairie de Paris | https://www.data.gouv.fr/fr/organizations/mair... | mairie-de-paris | https://www.data.gouv.fr/api/1/organizations/m... | NaN | NaN | NaN | NaN | NaN |
| 1 | None | None | [] | 2014-04-23T10:10:02.419000 | None | La liste des cafés à un euro de Paris.\n\nCe j... | unknown | None | 536998e0a3a729239d2050a4 | 2016-03-16T08:35:42.023000 | ... | https://static.data.gouv.fr/avatars/b2/0e83ec3... | Mairie de Paris | https://www.data.gouv.fr/fr/organizations/mair... | mairie-de-paris | https://www.data.gouv.fr/api/1/organizations/m... | 29853df3-3493-43d9-82a3-4b6b49c44977 | 2014-09-16T09:31:21.096000 | NaN | other | [] |
2 rows × 49 columns
The search() function provides a pandas dataFrame with the following columns:
for col in srch.columns:
print(col)
acronym
archived
badges
created_at
deleted
description
frequency
frequency_date
id
last_modified
last_update
license
owner
page
private
resources
slug
spatial
tags
temporal_coverage
title
uri
extras.harvest:domain
extras.harvest:last_update
extras.harvest:remote_id
extras.harvest:source_id
extras.ods:geo
extras.ods:has_records
extras.ods:url
extras.remote_url
metrics.discussions
metrics.followers
metrics.issues
metrics.reuses
metrics.views
organization.acronym
organization.class
organization.id
organization.logo
organization.logo_thumbnail
organization.name
organization.page
organization.slug
organization.uri
extras.datagouv_ckan_id
extras.datagouv_ckan_last_sync
spatial.geom
spatial.granularity
spatial.zones
explain( )
Provides in French a detailed description of a data set. It takes one mandatory argument which is the dataset_id that you can get from output of the search() function:
srch[['id', 'title']]
| id | title | |
|---|---|---|
| 0 | 5f9b902d3784843c84d5f959 | Terrasses éphémères |
| 1 | 536998e0a3a729239d2050a4 | Liste des cafés à un euro |
In order to get a well formated text, we need to use it with print() as follows:
print(explain('5f9b902d3784843c84d5f959'))
**Ce jeu de données recense les déclarations de terrasse éphémère.**
La Ville de Paris a pris la décision d'autoriser l'extension gratuite des terrasses pour les cafés, bars et restaurants.
Habituellement soumises à une autorisation, les extensions provisoires sont exceptionnellement enregistrées à titre gratuit, et sont valables jusqu'en juin 2021.
La déclaration est effectuée via un téléservice sur Paris.fr. Chaque commerçant doit signer et afficher une charte d'engagement.
[Plus d'informations: sur Paris.fr](https://www.paris.fr/pages/reouverture-des-bars-et-restaurants-agrandir-ou-creer-sa-terrasse-7847)
Description des données :
· \- Reference Déclaration (Numéro de la déclaration)
· \- Nom Commerce
· \- Adresse Commerce et coordonnées géographiques (X ; Y)
resources( )
resources() lists all the available resources within a specific data set:
res = resources('5f9b902d3784843c84d5f959')
res
| checksum | created_at | description | filesize | filetype | format | id | last_modified | latest | mime | ... | url | extras.check:available | extras.check:count-availability | extras.check:date | extras.check:headers:charset | extras.check:headers:content-disposition | extras.check:headers:content-type | extras.check:status | extras.check:url | extras.ods:type | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | None | 2020-10-30T05:01:49.244000 | - *Référence déclaration*: reference_declarati... | None | remote | csv | 59952231-e65f-4e52-b99a-f18ab317d4cc | 2020-10-29T18:36:54 | https://www.data.gouv.fr/fr/datasets/r/5995223... | text/csv | ... | https://opendata.paris.fr/explore/dataset/terr... | True | 27 | 2020-12-16T10:06:11.943000 | utf-8 | attachment; filename="terrasses-ephemeres.csv" | application/csv | 200 | https://opendata.paris.fr/explore/dataset/terr... | api |
| 1 | None | 2020-10-30T05:01:49.244000 | - *Référence déclaration*: reference_declarati... | None | remote | json | f094f3da-9b57-4fc3-ac1c-3538ace77d44 | 2020-10-29T18:36:54 | https://www.data.gouv.fr/fr/datasets/r/f094f3d... | application/json | ... | https://opendata.paris.fr/explore/dataset/terr... | True | 27 | 2020-12-16T10:06:11.963000 | utf-8 | attachment; filename="terrasses-ephemeres.json" | application/json | 200 | https://opendata.paris.fr/explore/dataset/terr... | api |
2 rows × 25 columns
resources() outputs a pandas dataFrame with the following columns :
for col in res.columns:
print(col)
checksum
created_at
description
filesize
filetype
format
id
last_modified
latest
mime
preview_url
published
schema
title
type
url
extras.check:available
extras.check:count-availability
extras.check:date
extras.check:headers:charset
extras.check:headers:content-disposition
extras.check:headers:content-type
extras.check:status
extras.check:url
extras.ods:type
We can grab the URL, the format and the description of the resources:
res[['description', 'format', 'url']]
| description | format | url | |
|---|---|---|---|
| 0 | - *Référence déclaration*: reference_declarati... | csv | https://opendata.paris.fr/explore/dataset/terr... |
| 1 | - *Référence déclaration*: reference_declarati... | json | https://opendata.paris.fr/explore/dataset/terr... |
Now we can just extract with pandas the required resource. In this example, we've chosen to work with a csv file:
df = pd.read_csv(res['url'][0], sep=";")
df
| reference_declaration | nom_commerce | adresse_commerce | coord_x | coord_y | |
|---|---|---|---|---|---|
| 0 | 169 | Cafe au pere tranquille | 16 rue Pierre Lescot, 75001 PARIS | 652202.4778 | 6.862661e+06 |
| 1 | 278 | Cafe le marignan | 18 rue de Marignan, 75008 PARIS | 649134.9044 | 6.863454e+06 |
| 2 | 916 | CAFE PETITE | 52 rue René Boulanger, 75010 PARIS | 653031.4339 | 6.863377e+06 |
| 3 | 177 | Chez Julien | 1 rue du Pont Louis-Philippe, 75004 PARIS | 652687.2630 | 6.861829e+06 |
| 4 | 669 | Demain c'est loin | 9 rue Julien Lacroix, 75020 PARIS | 654960.0896 | 6.863351e+06 |
| ... | ... | ... | ... | ... | ... |
| 9576 | 22470 | Le 7 EME B’ART | 19 rue de Choiseul, 75002 PARIS | 651285.2949 | 6.863569e+06 |
| 9577 | 22501 | BIBIMBAP | 32 Boulevard de l'Hôpital | NaN | NaN |
| 9578 | 22507 | Holiday Inn Paris Elysees | 24 rue de Miromesnil | NaN | NaN |
| 9579 | 22532 | Le mandarin de rambuteau | 11 rue Rambuteau, 75004 PARIS | 652741.2095 | 6.862449e+06 |
| 9580 | 22522 | Secret de Paris | 61 rue de Clichy | NaN | NaN |
9581 rows × 5 columns
suggest_territory( )
Returns suggested territory pages according to the query provided by the user:
terr = suggest_territory(query = 'paris', result_size=10)
terr
| id | image_url | page | parent | title | |
|---|---|---|---|---|---|
| 0 | fr:commune:75056@1943-01-01 | https://www.data.gouv.fr/fr/territories/commun... | Paris | Paris | |
| 1 | fr:commune:75115@1943-01-01 | https://www.data.gouv.fr/fr/territories/commun... | Paris | Paris 15e Arrondissement | |
| 2 | fr:commune:75120@1943-01-01 | https://www.data.gouv.fr/fr/territories/commun... | Paris | Paris 20e Arrondissement | |
| 3 | fr:commune:75118@1943-01-01 | https://www.data.gouv.fr/fr/territories/commun... | Paris | Paris 18e Arrondissement | |
| 4 | fr:commune:75119@1943-01-01 | https://www.data.gouv.fr/fr/territories/commun... | Paris | Paris 19e Arrondissement | |
| 5 | fr:commune:75113@1943-01-01 | https://www.data.gouv.fr/fr/territories/commun... | Paris | Paris 13e Arrondissement | |
| 6 | fr:commune:75117@1943-01-01 | https://www.data.gouv.fr/fr/territories/commun... | Paris | Paris 17e Arrondissement | |
| 7 | fr:commune:75116@1943-01-01 | https://www.data.gouv.fr/fr/territories/commun... | Paris | Paris 16e Arrondissement | |
| 8 | fr:commune:75111@1943-01-01 | https://www.data.gouv.fr/fr/territories/commun... | Paris | Paris 11e Arrondissement | |
| 9 | fr:commune:75112@1943-01-01 | https://www.data.gouv.fr/fr/territories/commun... | Paris | Paris 12e Arrondissement |
suggest_territory() returns a pandas dataFrame with the following columns:
for col in terr.columns:
print(col)
id
image_url
page
parent
title
Code of Conduct
Please note that the pygouv project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
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 Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pygouv-0.0.9-py3-none-any.whl.
File metadata
- Download URL: pygouv-0.0.9-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f01497e8304cfa46c77028eb99d93a518297f5a7add988693394a4f6307794ae
|
|
| MD5 |
b5734e4e811ebc9bd377006a9b1b21d3
|
|
| BLAKE2b-256 |
f26c293d65ed92e5e054175dd17805c42143b853fb1e48cb72bb2d2298093e07
|