Skip to content

v0.4.0 — server-readiness network hardening

Latest

Choose a tag to compare

@ckoglmeier ckoglmeier released this 03 Jul 20:05

Server-readiness hardening of the network layer so the engine is safe to run across many watchlists on a schedule (the hosted SearchPass worker), not just one laptop run. Stdlib-only; no data-contract or CLI-output change.

  • Retry with jittered exponential backoff on timeout / connection errors (configurable; disable-able).
  • Conditional caching via an injectable ResponseCache honoring ETag / Last-Modified (304 Not Modified reuses the cached body).
  • Per-host rate limiting via an injectable RateLimiter, wired through fetch_source / runner.py.
  • Fetch failures now log via logging.getLogger("pathscout.fetchers") instead of being silently swallowed.
  • New config knobs on network sources: retries, backoff_base_seconds, min_host_interval_seconds, cache_enabled.

runner.py per-source resilience and the http_get mock point are unchanged. 57 tests green.