Directories
¶
| Path | Synopsis |
|---|---|
|
Package appraisal synthesises consolidated views over a gazetteer.Dossier by combining the contributions of every Source whose typed Result satisfies one of the three contribution interfaces.
|
Package appraisal synthesises consolidated views over a gazetteer.Dossier by combining the contributions of every Source whose typed Result satisfies one of the three contribution interfaces. |
|
zonescore
Package zonescore turns a gazetteer.Dossier into a single, explainable rental-investment score for a zone, tuned for a YIELD-first investor.
|
Package zonescore turns a gazetteer.Dossier into a single, explainable rental-investment score for a zone, tuned for a YIELD-first investor. |
|
cmd
|
|
|
gazetteer
command
Command gazetteer is a CLI front-end over the gazetteer library.
|
Command gazetteer is a CLI front-end over the gazetteer library. |
|
Package dataset manages the raw and processed data files that back block-dataset Sources — the ones that ship a pre-indexed CSV/JSON artifact rather than querying a live API per address.
|
Package dataset manages the raw and processed data files that back block-dataset Sources — the ones that ship a pre-indexed CSV/JSON artifact rather than querying a live API per address. |
|
Package factory wires every in-tree gazetteer Source with sensible defaults so callers can obtain a working *gazetteer.Client in a single function call.
|
Package factory wires every in-tree gazetteer Source with sensible defaults so callers can obtain a working *gazetteer.Client in a single function call. |
|
Package gazetteer brings back rich, typed, well-extracted data about a French address across every dimension that matters when evaluating a property as an investment (price, rents, demand, solvency, taxes, safety, transport, hazards, building quality, social/regulatory context, …).
|
Package gazetteer brings back rich, typed, well-extracted data about a French address across every dimension that matters when evaluating a property as an investment (price, rents, demand, solvency, taxes, safety, transport, hazards, building quality, social/regulatory context, …). |
|
gazettestest
Package gazettestest provides reusable test doubles for code that consumes the gazetteer API.
|
Package gazettestest provides reusable test doubles for code that consumes the gazetteer API. |
|
helpers
|
|
|
atomicfs
Package atomicfs is a tiny set of helpers for atomic file writes and cheap stat-based pre-validation.
|
Package atomicfs is a tiny set of helpers for atomic file writes and cheap stat-based pre-validation. |
|
banx
Package banx is a small, opinionated BAN (Base Adresse Nationale) client.
|
Package banx is a small, opinionated BAN (Base Adresse Nationale) client. |
|
banx/maaddr
Package maaddr provides the small, generic address-normalization helpers an autocomplete-shaped consumer layers on top of `banx`'s raw BAN client.
|
Package maaddr provides the small, generic address-normalization helpers an autocomplete-shaped consumer layers on top of `banx`'s raw BAN client. |
|
circuit
Package circuit consolidates the per-source circuit-breaker pattern used by every HTTP-backed scraper/enricher: trip on N consecutive transport errors, trip on a sliding-window error rate (RateWindow, catches slow-burn failures the consecutive-streak counter misses), trip on observed quota exhaustion (HTTP 429 or response header x-quota-remaining=0), trip on N consecutive HTTP-200 responses with no signal-bearing content (ContentStreakBreaker, the "paywall stub" / "anti-bot interstitial" failure mode that the transport breakers cannot see), and expose process-local gauge + monotonic counter for metrics.
|
Package circuit consolidates the per-source circuit-breaker pattern used by every HTTP-backed scraper/enricher: trip on N consecutive transport errors, trip on a sliding-window error rate (RateWindow, catches slow-burn failures the consecutive-streak counter misses), trip on observed quota exhaustion (HTTP 429 or response header x-quota-remaining=0), trip on N consecutive HTTP-200 responses with no signal-bearing content (ContentStreakBreaker, the "paywall stub" / "anti-bot interstitial" failure mode that the transport breakers cannot see), and expose process-local gauge + monotonic counter for metrics. |
|
communes
Package communes exposes a lookup table over the ~35 000 French communes (including the Paris/Lyon/Marseille arrondissements).
|
Package communes exposes a lookup table over the ~35 000 French communes (including the Paris/Lyon/Marseille arrondissements). |
|
fallback
Package fallback formalises the "ladder of fallback tiers" pattern that turns up every time a consumer fetches a derived value from an upstream with multiple plausible strategies.
|
Package fallback formalises the "ladder of fallback tiers" pattern that turns up every time a consumer fetches a derived value from an upstream with multiple plausible strategies. |
|
fraddr
Package fraddr is the canonical home for the small French street-address parser used by any project that has to deconstruct free-form prose into a leading street number, a list of discriminating street-name tokens, and a postcode boundary.
|
Package fraddr is the canonical home for the small French street-address parser used by any project that has to deconstruct free-form prose into a leading street number, a list of discriminating street-name tokens, and a postcode boundary. |
|
frnorm
Package frnorm hosts side-effect-free, allocation-bounded helpers for parsing French free-form text shapes: prices, dates, postal codes, accents, whitespace and hearing-times.
|
Package frnorm hosts side-effect-free, allocation-bounded helpers for parsing French free-form text shapes: prices, dates, postal codes, accents, whitespace and hearing-times. |
|
geodist
Package geodist computes great-circle (haversine) distances between (lat, lon) points on Earth.
|
Package geodist computes great-circle (haversine) distances between (lat, lon) points on Earth. |
|
geoindex
Package geoindex factors out the "embedded gzipped polygon index + point-in-polygon resolve" scaffolding shared by the contour-backed sources (iris, qpv, encadrement).
|
Package geoindex factors out the "embedded gzipped polygon index + point-in-polygon resolve" scaffolding shared by the contour-backed sources (iris, qpv, encadrement). |
|
geopoly
Package geopoly is a small, dependency-free geometry kernel for GeoJSON-style geometries in (lon, lat) decimal degrees.
|
Package geopoly is a small, dependency-free geometry kernel for GeoJSON-style geometries in (lon, lat) decimal degrees. |
|
httpx
Package httpx is the project's single shared HTTP client.
|
Package httpx is the project's single shared HTTP client. |
|
kvcache
Package kvcache defines a backend-agnostic persistent key/value cache contract used across the project: the BAN geocoder cache, the DVF per-commune section cache, and any caller that needs a memo with optional TTL.
|
Package kvcache defines a backend-agnostic persistent key/value cache contract used across the project: the BAN geocoder cache, the DVF per-commune section cache, and any caller that needs a memo with optional TTL. |
|
kvcache/kvcachetest
Package kvcachetest is a conformance suite for kvcache.Cache implementations.
|
Package kvcachetest is a conformance suite for kvcache.Cache implementations. |
|
kvcache/memcache
Package memcache provides an in-memory kvcache.Cache implementation suitable for tests and short-lived processes that don't need persistence.
|
Package memcache provides an in-memory kvcache.Cache implementation suitable for tests and short-lived processes that don't need persistence. |
|
proptype
Package proptype owns the single source of truth that maps raw property-type strings (any case, any language, possibly with trailing whitespace) onto the canonical enum used by Sources to gate eligibility.
|
Package proptype owns the single source of truth that maps raw property-type strings (any case, any language, possibly with trailing whitespace) onto the canonical enum used by Sources to gate eligibility. |
|
safejson
Package safejson ships tiny wrappers around encoding/json's Marshal for callers that operate on data they have already established is marshalable — plain maps, slices and structs with `json:` tags only.
|
Package safejson ships tiny wrappers around encoding/json's Marshal for callers that operate on data they have already established is marshalable — plain maps, slices and structs with `json:` tags only. |
|
scrape
Package scrape composes helpers/httpx with goquery to give a 5-line "fetch + parse + decode" recipe for HTML scrapers.
|
Package scrape composes helpers/httpx with goquery to give a 5-line "fetch + parse + decode" recipe for HTML scrapers. |
|
scrape/antibot
Package antibot consolidates Cloudflare / DataDome / Captcha interstitial detection into one place.
|
Package antibot consolidates Cloudflare / DataDome / Captcha interstitial detection into one place. |
|
stats
Package stats provides the small numeric utilities shared across source transforms, the appraisal synthesis kernel and the overview join: median, percentile, decimal rounding and MAD-based outlier flagging.
|
Package stats provides the small numeric utilities shared across source transforms, the appraisal synthesis kernel and the overview join: median, percentile, decimal rounding and MAD-based outlier flagging. |
|
Package internal hosts private helpers that should not be importable outside this module.
|
Package internal hosts private helpers that should not be importable outside this module. |
|
roster
Package roster is the single enumeration of every in-tree Source and of how to construct it from the shared dependency bundle.
|
Package roster is the single enumeration of every in-tree Source and of how to construct it from the shared dependency bundle. |
|
Package overview is the batch / commune-level counterpart to the per-address gazetteer flow.
|
Package overview is the batch / commune-level counterpart to the per-address gazetteer flow. |
|
sources
|
|
|
ademe
Package ademe is a gazetteer.Source for the ADEME `dpe03existant` dataset (energy-performance certificates) published via data.gouv.fr's data-fair API.
|
Package ademe is a gazetteer.Source for the ADEME `dpe03existant` dataset (energy-performance certificates) published via data.gouv.fr's data-fair API. |
|
anct
Package anct is a gazetteer.Source that flags whether a commune participates in one of France's territorial revitalization programmes run by the ANCT (Agence Nationale de la Cohésion des Territoires):
|
Package anct is a gazetteer.Source that flags whether a commune participates in one of France's territorial revitalization programmes run by the ANCT (Agence Nationale de la Cohésion des Territoires): |
|
bdnb
Package bdnb is a gazetteer.Source for the Base de Données Nationale des Bâtiments (BDNB) `batiment_groupe_complet` PostgREST endpoint.
|
Package bdnb is a gazetteer.Source for the Base de Données Nationale des Bâtiments (BDNB) `batiment_groupe_complet` PostgREST endpoint. |
|
bpe
Package bpe is a gazetteer.Source that returns a curated subset of INSEE's Base Permanente des Équipements (BPE) 2024 counts for the commune of a Listing.
|
Package bpe is a gazetteer.Source that returns a curated subset of INSEE's Base Permanente des Équipements (BPE) 2024 counts for the commune of a Listing. |
|
cadastre
Package cadastre is a gazetteer.Source for the French cadastre.
|
Package cadastre is a gazetteer.Source for the French cadastre. |
|
carteloyers
Package carteloyers is a gazetteer.Source for the ANIL / DHUP "carte des loyers" offline dataset — a per-commune × typology reference rent in EUR/m²/month.
|
Package carteloyers is a gazetteer.Source for the ANIL / DHUP "carte des loyers" offline dataset — a per-commune × typology reference rent in EUR/m²/month. |
|
cartofriches
Package cartofriches is a gazetteer.Source that aggregates the Cerema "Cartofriches" national inventory of friches (industrial, commercial and habitation brownfields) per commune.
|
Package cartofriches is a gazetteer.Source that aggregates the Cerema "Cartofriches" national inventory of friches (industrial, commercial and habitation brownfields) per commune. |
|
catnat
Package catnat is a gazetteer.Source for the per-commune history of recognised natural disasters ("arrêtés de catastrophe naturelle", GASPAR).
|
Package catnat is a gazetteer.Source for the per-commune history of recognised natural disasters ("arrêtés de catastrophe naturelle", GASPAR). |
|
cdsr
Package cdsr is a gazetteer.Source for the Île-de-France region's "Copropriétés en Difficulté Soutenues par la Région" (CDSR) — condominiums labelled severely distressed and granted a regional subsidy for thermal renovation.
|
Package cdsr is a gazetteer.Source for the Île-de-France region's "Copropriétés en Difficulté Soutenues par la Région" (CDSR) — condominiums labelled severely distressed and granted a regional subsidy for thermal renovation. |
|
chomage
Package chomage is a gazetteer.Source that returns the latest INSEE estimate of the local unemployment rate (taux de chômage localisé) for the zone d'emploi a commune belongs to, plus a short trend window.
|
Package chomage is a gazetteer.Source that returns the latest INSEE estimate of the local unemployment rate (taux de chômage localisé) for the zone d'emploi a commune belongs to, plus a short trend window. |
|
delinquance
Package delinquance is a gazetteer.Source exposing per-commune crime and security indicators recorded by police and gendarmerie.
|
Package delinquance is a gazetteer.Source exposing per-commune crime and security indicators recorded by police and gendarmerie. |
|
dpedist
Package dpedist is a gazetteer.Source that returns the distribution of energy-performance labels (étiquettes DPE A..G) across every DPE observed in the commune of a Listing.
|
Package dpedist is a gazetteer.Source that returns the distribution of energy-performance labels (étiquettes DPE A..G) across every DPE observed in the commune of a Listing. |
|
dvf
Package dvf is a gazetteer.Source that compiles a price-per-m² signal for an auction's commune from DVF Etalab open data.
|
Package dvf is a gazetteer.Source that compiles a price-per-m² signal for an auction's commune from DVF Etalab open data. |
|
dvfagg
Package dvfagg is an offline, per-commune aggregate of DVF apartment sale prices (median €/m² + dispersion), embedded as a CSV and refreshed from the geo-dvf bulk files.
|
Package dvfagg is an offline, per-commune aggregate of DVF apartment sale prices (median €/m² + dispersion), embedded as a CSV and refreshed from the geo-dvf bulk files. |
|
education
Package education provides a gazetteer Source that counts open public + private schools in the commune of a Listing, broken down by school type (école / collège / lycée / médico-social / autre).
|
Package education provides a gazetteer Source that counts open public + private schools in the commune of a Listing, broken down by school type (école / collège / lycée / médico-social / autre). |
|
encadrement
Package encadrement is a gazetteer.Source for the French zoned rent caps ("encadrement des loyers") in force in Paris, the two Seine-Saint-Denis EPTs (Plaine Commune, Est Ensemble) and Lyon / Villeurbanne.
|
Package encadrement is a gazetteer.Source for the French zoned rent caps ("encadrement des loyers") in force in Paris, the two Seine-Saint-Denis EPTs (Plaine Commune, Est Ensemble) and Lyon / Villeurbanne. |
|
filoiris
Package filoiris is a gazetteer.Source that returns INSEE Filosofi income indicators at the IRIS (sub-commune) level, keyed by the listing's resolved IRIS code.
|
Package filoiris is a gazetteer.Source that returns INSEE Filosofi income indicators at the IRIS (sub-commune) level, keyed by the listing's resolved IRIS code. |
|
filosofi
Package filosofi is a gazetteer.Source for the INSEE Filosofi 2021 per-commune income and minima-sociaux statistics, served from an embedded JSON snapshot.
|
Package filosofi is a gazetteer.Source for the INSEE Filosofi 2021 per-commune income and minima-sociaux statistics, served from an embedded JSON snapshot. |
|
georisques
Package georisques is a gazetteer.Source for the BRGM rapport-risque endpoint hosted at georisques.gouv.fr — natural and technological hazards at the (lat, lon) granularity.
|
Package georisques is a gazetteer.Source for the BRGM rapport-risque endpoint hosted at georisques.gouv.fr — natural and technological hazards at the (lat, lon) granularity. |
|
gpe
Package gpe is a gazetteer.Source that locates the nearest future Grand Paris Express station to a listing — the new metro network (lines 14 extensions, 15, 16, 17, 18; ~68 new stations) opening across Île-de-France.
|
Package gpe is a gazetteer.Source that locates the nearest future Grand Paris Express station to a listing — the new metro network (lines 14 extensions, 15, 16, 17, 18; ~68 new stations) opening across Île-de-France. |
|
ips_ecoles
Package ips_ecoles is a gazetteer.Source that returns the median Indice de Position Sociale (IPS) over the écoles primaires of a commune.
|
Package ips_ecoles is a gazetteer.Source that returns the median Indice de Position Sociale (IPS) over the écoles primaires of a commune. |
|
iris
Package iris resolves a coordinate to its INSEE IRIS — the sub-commune statistical zone (≈ 2 000 inhabitants) that is the finest official mesh for census, income and many other datasets.
|
Package iris resolves a coordinate to its INSEE IRIS — the sub-commune statistical zone (≈ 2 000 inhabitants) that is the finest official mesh for census, income and many other datasets. |
|
links
Package links surfaces deep-link URLs to useful third-party tools and datasets for the listing's address.
|
Package links surfaces deep-link URLs to useful third-party tools and datasets for the listing's address. |
|
locservice
Package locservice is a gazetteer.Source for the LocService Tensiomètre Locatif HTML page — a per-INSEE × typology rental market tension label (`tendu` / `équilibré` / `détendu`) plus a median rent reading.
|
Package locservice is a gazetteer.Source for the LocService Tensiomètre Locatif HTML page — a per-INSEE × typology rental market tension label (`tendu` / `équilibré` / `détendu`) plus a median rent reading. |
|
logiris
Package logiris is a gazetteer.Source that returns INSEE census housing-structure indicators at the IRIS (sub-commune) level, keyed by the listing's resolved IRIS code: the share of renters, the share of social housing, and the vacancy rate of the neighbourhood.
|
Package logiris is a gazetteer.Source that returns INSEE census housing-structure indicators at the IRIS (sub-commune) level, keyed by the listing's resolved IRIS code: the share of renters, the share of social housing, and the vacancy rate of the neighbourhood. |
|
lovac
Package lovac is a gazetteer.Source for the LOVAC 2025 per-commune housing vacancy dataset, served from an embedded CSV.
|
Package lovac is a gazetteer.Source for the LOVAC 2025 per-commune housing vacancy dataset, served from an embedded CSV. |
|
nuisances
Package nuisances is a gazetteer.Source for the Île-de-France cumulative environmental-nuisance grid (Institut Paris Région, combining Bruitparif noise and Airparif air-quality layers, 500 m cells).
|
Package nuisances is a gazetteer.Source for the Île-de-France cumulative environmental-nuisance grid (Institut Paris Région, combining Bruitparif noise and Airparif air-quality layers, 500 m cells). |
|
oll
Package oll is a gazetteer.Source for observed market rents from the Observatoires Locaux des Loyers (OLL) — the network of approved local rent observatories.
|
Package oll is a gazetteer.Source for observed market rents from the Observatoires Locaux des Loyers (OLL) — the network of approved local rent observatories. |
|
osm
Package osm is a gazetteer.Source that computes the walking distance from a listing to the nearest métro / RER / tram / Transilien / train station, against an OpenStreetMap station catalog.
|
Package osm is a gazetteer.Source that computes the walking distance from a listing to the nearest métro / RER / tram / Transilien / train station, against an OpenStreetMap station catalog. |
|
qpv
Package qpv is a gazetteer.Source that answers whether a listing sits inside a Quartier Prioritaire de la Politique de la Ville (QPV) — by point-in-polygon when the listing has coordinates, falling back to commune-level membership otherwise.
|
Package qpv is a gazetteer.Source that answers whether a listing sits inside a Quartier Prioritaire de la Politique de la Ville (QPV) — by point-in-polygon when the listing has coordinates, falling back to commune-level membership otherwise. |
|
rnc
Package rnc is a gazetteer.Source that returns the copropriété CONTEXT recorded in the Registre National d'Immatriculation des Copropriétés (RNC, published by the ANAH on data.gouv.fr) for a building address.
|
Package rnc is a gazetteer.Source that returns the copropriété CONTEXT recorded in the Registre National d'Immatriculation des Copropriétés (RNC, published by the ANAH on data.gouv.fr) for a building address. |
|
rpls
Package rpls is a gazetteer.Source that returns the per-commune share of social housing (logement locatif social), expressed as a percentage of résidences principales, computed under the loi SRU article 55 framework.
|
Package rpls is a gazetteer.Source that returns the per-commune share of social housing (logement locatif social), expressed as a percentage of résidences principales, computed under the loi SRU article 55 framework. |
|
sensible
Package sensible is a gazetteer.Source that flags addresses located inside (or right next to) the neighbourhoods officially identified by the French State as the most distressed — the areas an investor wants to know about BEFORE buying, because the usual commune-level signals (QPV flag, delinquency tier) are far too coarse to isolate them.
|
Package sensible is a gazetteer.Source that flags addresses located inside (or right next to) the neighbourhoods officially identified by the French State as the most distressed — the areas an investor wants to know about BEFORE buying, because the usual commune-level signals (QPV flag, delinquency tier) are far too coarse to isolate them. |
|
sitadel
Package sitadel is a gazetteer.Source that returns per-commune housing-construction dynamics from the SDES Sitadel annual file: building permits AUTHORISED (LOG_AUT) and housing STARTS (LOG_COM, "logements commencés"), counted in dwellings.
|
Package sitadel is a gazetteer.Source that returns per-commune housing-construction dynamics from the SDES Sitadel annual file: building permits AUTHORISED (LOG_AUT) and housing STARTS (LOG_COM, "logements commencés"), counted in dwellings. |
|
taxefonciere
Package taxefonciere is a gazetteer.Source that estimates the annual taxe foncière (FR property tax) from offline DGFiP datasets.
|
Package taxefonciere is a gazetteer.Source that estimates the annual taxe foncière (FR property tax) from offline DGFiP datasets. |
|
vacance
Package vacance is a gazetteer.Source that returns the per-commune DEMOGRAPHIC vacancy rate from INSEE's Recensement de la Population 2021 ("base communale logement").
|
Package vacance is a gazetteer.Source that returns the per-commune DEMOGRAPHIC vacancy rate from INSEE's Recensement de la Population 2021 ("base communale logement"). |
|
zonageabc
Package zonageabc provides a gazetteer Source that classifies any French commune into the official A bis / A / B1 / B2 / C zonage.
|
Package zonageabc provides a gazetteer Source that classifies any French commune into the official A bis / A / B1 / B2 / C zonage. |
|
zonetendue
Package zonetendue provides a gazetteer Source that flags any French commune as "zone tendue" / "zone touristique et tendue" / non tendue, per the décret 2013-392 of 10 May 2013 as revised by décret 2025-1267 of 22 December 2025.
|
Package zonetendue provides a gazetteer Source that flags any French commune as "zone tendue" / "zone touristique et tendue" / non tendue, per the décret 2013-392 of 10 May 2013 as revised by décret 2025-1267 of 22 December 2025. |
Click to show internal directories.
Click to hide internal directories.