farepy.cache#

JSON file-based caching for flight search results.

Functions

cache_key(request, sources)

Generate a deterministic cache key from search parameters.

clear_cache(*[, cache_dir])

Clear all cached results.

get_cached(request, sources, *[, cache_dir, ...])

Return cached result dict if fresh, else None.

get_cached_result(cache_id, *[, cache_dir])

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

list_cached_searches(*[, cache_dir])

Return summaries of all cached results.

put_cache(result, sources, *[, cache_dir])

Cache a SearchResult.

farepy.cache.cache_key(request, sources)[source]#

Generate a deterministic cache key from search parameters.

Return type:

str

farepy.cache.clear_cache(*, cache_dir=None)[source]#

Clear all cached results. Returns count of files removed.

Return type:

dict

farepy.cache.get_cached(request, sources, *, cache_dir=None, ttl_hours=24)[source]#

Return cached result dict if fresh, else None.

Return type:

dict | None

farepy.cache.get_cached_result(cache_id, *, cache_dir=None)[source]#

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

Return type:

dict

farepy.cache.list_cached_searches(*, cache_dir=None)[source]#

Return summaries of all cached results.

Return type:

list[dict]

farepy.cache.put_cache(result, sources, *, cache_dir=None)[source]#

Cache a SearchResult. Returns the cache filename.

Return type:

str