Skip to content

v1.0.1 — Cleanup & Z-Timestamp Fix

Choose a tag to compare

@johnnichev johnnichev released this 15 Jun 22:24
· 16 commits to main since this release
57f2d9b

First post-1.0 patch: a Python 3.10 crash fix plus an internal hygiene sweep. All changes are internal/private — no public symbol is affected and the frozen 1.0 API is unchanged.

pip install --upgrade selectools

Fixed

  • Knowledge and checkpoint loaders no longer crash on Z-suffixed timestamps on Python 3.10. datetime.fromisoformat did not accept a trailing Z (UTC designator) until Python 3.11, so a timestamp such as "2026-06-15T12:00:00Z" — the form Postgres/Supabase/Redis routinely return — raised ValueError on the project's minimum interpreter. All 17 ISO-parse sites now route through a single selectools._time.parse_iso helper that normalizes the suffix first. (#136)
  • selectools doctor now prints the API-key status text it computes. The per-key line built a "set" / "not set" string and then dropped it, printing only the OK / MISSING icon; it now shows both (e.g. OPENAI_API_KEY: OK (set)). (#135)

Internal

  • Removed confirmed dead code (#137): three unused serve request/response dataclasses (InvokeRequest, BatchRequest, BatchResponse), two unreachable private helpers (bm25._score_document, hybrid._find_matching_key), four dead local variables, and 104 unused imports across the src/ tree. No public symbols affected.
  • Tightened ruff config (#138): F401 (unused imports) and F841 (unused locals) are now enforced everywhere; the F401 ignore is scoped to **/__init__.py re-export hubs, so dead imports and locals can no longer accumulate silently.
  • The vestigial PineconeVectorStore(environment=...) parameter is now documented as deprecated/ignored (Pinecone v3+ infers the host); removal is tracked for a future minor (#149).

Full changelog: https://github.com/johnnichev/selectools/blob/main/CHANGELOG.md