Skip to main content

datagouv-toolkit

Outils génériques pour explorer, télécharger, inspecter et analyser des jeux de données publiés sur data.gouv.fr.

Installation

Depuis un clone du dépôt :

python -m pip install -e .

L'installation fournit une commande principale unique :

datagouv --help

Les anciens points d'entrée spécialisés (datagouv-download, datagouv-workflow, datagouv-inspect-csv et datagouv-catalog-stats) restent disponibles pour compatibilité.

Tutoriel

Pour une prise en main progressive avec explications des notions d'API HTTP, JSON, datasets, ressources, métadonnées, filtrage, data profiling, pipelines et reproductibilité :

Utilisation

Rechercher un dataset

datagouv search "accidents corporels"

Inspecter ses ressources

datagouv resources \
  "accidents corporels" \
  --producer "Ministère de l'intérieur"

Afficher ses métadonnées

datagouv metadata \
  "accidents corporels" \
  --producer "Ministère de l'intérieur"

Pour obtenir le JSON brut :

datagouv inspect \
  "accidents corporels" \
  --producer "Ministère de l'intérieur"

Télécharger une ressource

datagouv download \
  "accidents corporels" \
  --producer "Ministère de l'intérieur" \
  --format csv \
  --resource-title "Caract_2024" \
  --output data

Pour obtenir un résultat exploitable par une machine, ajouter --json :

datagouv download \
  "accidents corporels" \
  --producer "Ministère de l'intérieur" \
  --format csv \
  --resource-title "Caract_2024" \
  --output data \
  --json

La sortie JSON contient le dataset résolu, le répertoire de destination et le résultat de chaque ressource, notamment son chemin local et le booléen downloaded. Une ressource déjà présente sans --overwrite est signalée par "downloaded": false.

La sortie peut être composée avec d'autres outils Unix, par exemple :

datagouv download \
  "accidents corporels" \
  --producer "Ministère de l'intérieur" \
  --format csv \
  --resource-title "Caract_2024" \
  --output data \
  --json | jq '.resources[] | {path, downloaded}'

Télécharger et auditer automatiquement

datagouv workflow \
  "accidents corporels" \
  --producer "Ministère de l'intérieur" \
  --format csv \
  --resource-title "Caract_2024" \
  --output data \
  --audit-dir audits

Le workflow résout le dataset, sélectionne les ressources, les télécharge puis audite automatiquement les fichiers CSV. Il s'appuie sur les mêmes résultats structurés de téléchargement que la commande download.

Auditer un CSV local

datagouv inspect-csv fichier.csv

Pour rediriger un audit volumineux :

datagouv inspect-csv fichier.csv > audit.txt

Statistiques sur les ressources d'un dataset

datagouv stats \
  "accidents corporels" \
  --producer "Ministère de l'intérieur"

Analyser un snapshot du catalogue

datagouv catalog-stats "transport" \
  --snapshot snapshot/2026-08-25

Avec filtres :

datagouv catalog-stats "énergie" \
  --snapshot snapshot/2026-08-25 \
  --license fr-lo-2.0 \
  --frequency annual

Commandes disponibles

datagouv search         Recherche dans le catalogue
datagouv dataset        Résumé d'un dataset
datagouv resources      Liste des ressources
datagouv metadata       Métadonnées structurées
datagouv stats          Statistiques sur les ressources
datagouv inspect        JSON brut du dataset
datagouv organization   Informations sur une organisation
datagouv download       Téléchargement de ressources
datagouv workflow       Téléchargement + audit CSV
datagouv inspect-csv    Audit d'un CSV local
datagouv catalog-stats  Analyse d'un snapshot du catalogue

Architecture

  • cli.py : interface en ligne de commande unifiée datagouv.
  • datagouv.py : client et fonctions d'exploration/résolution de datasets data.gouv.fr.
  • download_resources.py : téléchargement générique de ressources.
  • dataset_workflow.py : enchaînement résolution → téléchargement → audit CSV.
  • inspect_csv.py : audit structurel générique d'un CSV.
  • catalog_stats.py : statistiques reproductibles à partir d'un snapshot du catalogue.
  • normalize.py : normalisation des métadonnées.
  • tests/ : tests unitaires.
  • datasets/ : pipelines spécifiques à certains jeux de données.
  • datasets/baac/ : premier cas d'usage, données BAAC.

Réutilisations

Qualité

La vérification locale complète est centralisée dans le Makefile :

make check

Cette cible exécute Ruff, mypy avec la configuration de pyproject.toml, Bandit sur le package, les tests avec couverture, la construction des distributions, twine check et un smoke test de la CLI installée.

Metadata

Release files for datagouv-toolkit 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for datagouv-toolkit 0.3.0
File Size Uploaded
datagouv_toolkit-0.3.0.tar.gz 47.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for datagouv-toolkit 0.3.0
File Interpreter ABI Platform
datagouv_toolkit-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 83.4 kB

Release files / datagouv_toolkit-0.3.0.tar.gz

Download URL datagouv_toolkit-0.3.0.tar.gz
Size 47.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a7124db02fe65afa2ba3ddeec565414cd5165847e63954f329bbdd58fe6788ef
BLAKE2b-256 checksum
How to use checksums
4306a7f3bdb3c135d3438f2f0d21f0244722c44ccd23e3b9a2467af647fc138f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 31, 2026.

Transparency log

Release files / datagouv_toolkit-0.3.0-py3-none-any.whl

Download URL datagouv_toolkit-0.3.0-py3-none-any.whl
Size 35.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8c4a17a452dcaa324ab7027aade8a99213fb244b78d0a61bb79f24e9c4f7e5fa
BLAKE2b-256 checksum
How to use checksums
eb45f219951294d14b402ab4b70a4119cb921fab9a324ee92305289fcdcbfaa0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 31, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.0

2 release files

0.4.0

2 release files

This release

0.3.0 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page