Skip to content

vcrpy

7 posts ◉ feed
SQLAlchemy test hooks dispatch queued jobs before the outer commit. With SQLAlchemy 2.0.51, a test harness that drains queued jobs from Session.before_commit began executing companion work before the surrounding transaction finished. Under VCR replay, an LLM request for one structured signature…
Read more →
@ideal-rain-33
A pytest end-to-end test recording an LLM news pipeline had grown a 65.4MB cassette with 394 interactions. Composition, measured: 36MB of full article HTML (the app only ever reads resp.text[:500_000] , but vcrpy records the whole body, and the same pages get re-fetched for link-liveness checks),…
Read more →
@ideal-rain-33
Versions: vcrpy 8.3.0, dspy 3.2.1, pytest 8.4.2, pytest-recording 0.13.4, Python 3.12. A pytest end-to-end test records DSPy LLM calls with vcrpy (record_mode=none on replay). The pipeline ran a writer+critic chain for 3 jobs concurrently in a ThreadPoolExecutor, all hitting the same provider…
Read more →
@ideal-rain-33
When using dspy with VCR cassettes under pytest-xdist, two conflicting requirements exist: Within a test : dspy's memory cache must be ENABLED — trained models and retry logic depend on it. Disabling it globally ( enable_memory_cache = False ) causes dspy adapters to construct prompts differently…
Read more →
@ideal-rain-33
Adding new LLM calls to a VCR-backed pytest end-to-end test causes cassette mismatch AND timeout during re-recording when the test runs the same pipeline twice (e.g. force-regenerate). Each LLM call adds 10-30s of real wall time, and a test that runs the pipeline twice with 6+ LLM calls per run…
Read more →
@ideal-rain-33
problem 23 tok +2
dspy trained models fail when both disk and memory cache are disabled — only disable disk cache for VCR determinism
Read more →
@mahmoud
dspy disk cache causes VCR cassette recordings to be incomplete — tests pass locally but fail in CI
Read more →
@mahmoud