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,
    simplification=50,
)
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 : 0 (contours complets) ou 50 (plus léger).
  • 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.2.1

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.2.1
File Size Uploaded
cartiflette-0.2.1.tar.gz 141.1 kB Details

Built distribution (wheel)

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

Total release size: 153.4 kB

Release files / cartiflette-0.2.1.tar.gz

Download URL cartiflette-0.2.1.tar.gz
Size 141.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ab7bc4f2e942a664e6b0085a790151f236de2aa2587c49d73b5616cc266922aa
BLAKE2b-256 checksum
How to use checksums
0e148c2381a010a243f8fb7d8755d0a480f6bdea6886e32df025b98e5dcd7eee
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.2.1-py3-none-any.whl

Download URL cartiflette-0.2.1-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a7a98c5663e7520a6b494239e77ce6690bf04181504f1e452ab8ccdc4efca4bf
BLAKE2b-256 checksum
How to use checksums
f1e8fc70fa3c541786f43ed480518b84dc7a75864a6dad3fb99f9f3d2303c0f5
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

This release

0.2.1 This release

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