farepy.cache

JSON file-based caching for flight search results.

farepy.cache.cache_key(request: SearchRequest, sources: list[str]) str[source]

Generate a deterministic cache key from search parameters.

farepy.cache.clear_cache(*, cache_dir: str | None = None) dict[source]

Clear all cached results. Returns count of files removed.

farepy.cache.get_cached(request: SearchRequest, sources: list[str], *, cache_dir: str | None = None, ttl_hours: float = 24) dict | None[source]

Return cached result dict if fresh, else None.

farepy.cache.get_cached_result(cache_id: str, *, cache_dir: str | None = None) dict[source]

Get a specific cached result by its ID (filename stem).

farepy.cache.list_cached_searches(*, cache_dir: str | None = None) list[dict][source]

Return summaries of all cached results.

farepy.cache.put_cache(result: SearchResult, sources: list[str], *, cache_dir: str | None = None) str[source]

Cache a SearchResult. Returns the cache filename.