Skip to main content

cartiflette cartiflette

Les fonds de carte officiels français, en une ligne de code.

PyPI Téléchargements Tests Lint Licence MIT Python 3.10+ DuckDB GeoParquet

Contours officiels de l'IGN (ADMIN EXPRESS COG CARTO) enrichis des métadonnées de l'Insee : communes, arrondissements municipaux, départements, régions, bassins de vie, zones d'emploi, unités urbaines, aires d'attraction des villes, avec ou sans les DROM rapprochés de la métropole.

Exemples d'utilisation de cartiflette

Installation

pip install cartiflette

Python 3.10 ou plus récent.

Utilisation

from cartiflette import carti_download

departements = carti_download(
    values="France",
    borders="DEPARTEMENT",
    filter_by="FRANCE_ENTIERE_DROM_RAPPROCHES",
    year=2026,
)
departements.plot("POPULATION")
  • borders : niveau des contours (COMMUNE, COMMUNE_ARRONDISSEMENT, DEPARTEMENT, REGION, BASSIN_VIE, ZONE_EMPLOI, UNITE_URBAINE, AIRE_ATTRACTION_VILLES).
  • filter_by et values : zone couverte, par exemple filter_by="REGION" et values=["11", "84"], ou filter_by="FRANCE_ENTIERE" et values="France". Les codes de région sous 10 s'écrivent indifféremment 1, "1" ou "01".
  • simplification : part des points retirés, 0 (contours complets), 50 ou 80 (le plus léger, par défaut). Pour 2022, publié seulement en GeoJSON, le défaut est 50.
  • year : millésime du Code officiel géographique.

Le résultat est un GeoDataFrame geopandas (EPSG:4326).

Formats : GeoParquet d'abord

Chaque niveau est publié en GeoParquet dans un seul fichier, que DuckDB lit partiellement : seules les parties correspondant aux valeurs demandées sont téléchargées (environ 2 Mo pour les communes d'un département). Le client lit le GeoParquet dès qu'il existe, même si vectorfile_format="geojson" est demandé (un avertissement l'indique). Pour les millésimes publiés seulement en GeoJSON (2022), le client le détecte et lit le GeoJSON.

Aucun fichier GeoJSON n'est publié à partir de 2025 : force=True, qui force la lecture du GeoJSON, ne vaut que pour les millésimes qui en ont (2022). Pour obtenir du GeoJSON des millésimes récents, par exemple depuis R ou JavaScript, utiliser l'API : https://cartiflette-api.lab.sspcloud.fr/v1/geojson.

Rester dans DuckDB

Toute la lecture est faite avec DuckDB. Avec engine="duckdb", le résultat reste une relation DuckDB, pour continuer en SQL sans passer par geopandas :

communes = carti_download(
    values=["11", "84"],
    borders="COMMUNE",
    filter_by="REGION",
    year=2026,
    engine="duckdb",
)
communes.aggregate("INSEE_REG, sum(POPULATION)")

Proxy

Déclarer la variable d'environnement https_proxy : elle est transmise à DuckDB.

import os

os.environ["https_proxy"] = "http://mon-proxy:8080"

En savoir plus

cartiflette est un projet collaboratif lancé par des agents de l'État dans le cadre du Programme 10 %. Pour contribuer, voir CONTRIBUTING.md.

Metadata

Release files for cartiflette 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 cartiflette 0.3.0
File Size Uploaded
cartiflette-0.3.0.tar.gz 141.6 kB Details

Built distribution (wheel)

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

Total release size: 154.3 kB

Release files / cartiflette-0.3.0.tar.gz

Download URL cartiflette-0.3.0.tar.gz
Size 141.6 kB
Tags Source
SHA-256 checksum
How to use checksums
465503db736c0e2a4ff2cf945d50be46d6159db10a0473e143eb6b6e02ed1e1e
BLAKE2b-256 checksum
How to use checksums
600820f25033719b093db10dcb5fc6bcb9d2f408b2cf2d8c01a980a48d54f69b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

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

Download URL cartiflette-0.3.0-py3-none-any.whl
Size 12.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
47d65288152e7b918535003f6e1616742726fa129880c720a2dfb348152359ad
BLAKE2b-256 checksum
How to use checksums
de0a6e597922b791f2435716b63c2a4f69c1086e3807f875e57b2f0746f62063
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.4.0

2 release files

This release

0.3.0 This release

2 release files

0.2.1

2 release files

0.1.9

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

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