/** * @copyright Sister Software * @license AGPL-3.0 * @author Teffen Ellis, et al. * * Fetch the OurAirports CSV dumps — the VENUE side of the sub-venue corpus arc (#35). * * Source : https://davidmegginson.github.io/ourairports-data/ (the project's own GitHub Pages * mirror of the nightly export; `ourairports.com/data/` redirects here). * License: PUBLIC DOMAIN. OurAirports places its data in the public domain and asks only for a * courtesy credit — no attribution obligation rides on a derived shard, which makes this * the one transport source in the arc with no licensing question at all. Tier A. * * ## What it is good for, and what it is not * * `airports.csv` is every airport on earth with ICAO/IATA codes, coordinates, `municipality`, and * `iso_country` — 12.7 MB, ~83,000 rows as of 2026-08-04. That is the CONTAINING VENUE for a * `, , , , ` corpus line, and it is better at that job * than OSM: every row is named, the name is canonical, and `municipality` gives the locality without * a spatial join. * * It carries NO interior structure. There is no terminal, concourse, gate or pier table — the * corpus task says as much ("Good for the venue side of each pair, weaker on interior structure") * and a row-level read confirms it. Pair it with the OSM `aeroway` extractor * (`@mailwoman/osm/sdk`'s `extractOSMSubVenues`), which is where the sub-venue half comes from. * * ## Why `downloadToFile` and not `APIClient` * * `AGENTS.md` routes HTTP through `APIClient`, and that rule is about API REQUESTS — small bodies, * repeated calls, rate-limited hosts. This is four static file transfers against a GitHub Pages CDN * with no rate limit and nothing to pace, run once per refresh. It uses the same `downloadToFile` * every other module in this `fetch/` family uses, which is where the retry and timeout live. * The Wikidata sibling (`wikidata-subvenue.ts`) IS an API client and is built on `APIClient` * accordingly; the split between the two is the one `AGENTS.md` draws. * * Invoke via `mailwoman corpus fetch ourairports --out-root `. */ import type { BaseFetchOptions, FetchSummary } from "./download.ts"; export type FetchOurAirportsOptions = BaseFetchOptions; /** * Download the OurAirports CSVs into `/ourairports/`, with a sibling `MANIFEST.json` carrying each file's * origin URL, sha256, byte count and upstream `Last-Modified`. */ export declare function fetchOurAirports(options: FetchOurAirportsOptions, report?: (line: string) => void): Promise; //# sourceMappingURL=ourairports.d.ts.map