Skip to content

Releases: ckoglmeier/pathscout

v0.4.0 — server-readiness network hardening

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.

v0.3.0 — first PyPI release

Choose a tag to compare

@ckoglmeier ckoglmeier released this 03 Jul 14:34

First published release of the PathScout engine to PyPI. Local-first role-discovery CLI: fetch, score, and store deduplicated career-opportunity signals; canonical JSON artifacts plus a readable Markdown digest. Published via GitHub Actions Trusted Publishing (no stored credentials).

PathScout v0.2.0

Choose a tag to compare

@ckoglmeier ckoglmeier released this 29 Jun 13:53

PathScout v0.2.0 is the initial OSS Core release.\n\nHighlights:\n- Installable Python CLI with pyproject/setup.py metadata and MIT license.\n- Schema-versioned profile, sources, watchlist, suppressions, and portfolio config.\n- Canonical JSON findings artifact plus Markdown renderer.\n- Review and suppress CLI workflow.\n- Portfolio source naming with deprecated radar aliases for compatibility.\n- Careers-page role-title extraction with page-level fallback.\n- Generic startup role seeker defaults and fictional sample data.\n\nVerified with:\n- PYTHONPYCACHEPREFIX=/tmp/pathscout_pycache python3 -m unittest discover -s tests\n- PYTHONPYCACHEPREFIX=/tmp/pathscout_pycache python3 -m pathscout doctor\n- PYTHONPYCACHEPREFIX=/tmp/pathscout_pycache python3 -m pathscout run --dry-run --format both\n- Local wheel metadata build via pip install --no-build-isolation --target /tmp/pathscout-pkg-test-final .