v0.1.16
Single-change follow-up to v0.1.15: LangfuseConfig.enabled=true now fails
fast at config load when the [langfuse] extra is not installed, closing
the silent-disable path where tracing was configured but never produced
traces. No behavior change for enabled=false or for users who have the
extra installed.
Fixed
LangfuseConfig.enabled=truenow fails fast when thelangfusepackage is not installed (#234, closes #233) —LangfuseConfigalready rejectsenabled=truewithoutpublic_key/secret_keyat config-load time via_require_keys_when_enabled. The parallel environment check was missing: a user who had all three fields set but didn't install the[langfuse]extra (e.g. afteruv tool install --reinstall memtomem-stmdropped the extras) hit a silentexcept ImportError: passbranch inserver.py, so the proxy started cleanly but produced no traces and surfaced no warning. A second@model_validator(mode="after")now probesimportlib.util.find_spec("langfuse")wheneverenabled=trueand raisesValueErrorwith an install hint (uv tool install --reinstall 'memtomem-stm[langfuse]'orpip install 'memtomem-stm[langfuse]'). Symmetric with the existing key-requirement validator — schema and environment are both checked at load time instead of one failing loud and the other failing silent. No behavior change for users withenabled=false(the new validator short-circuits before probing), or for users who already have the extra installed.
PyPI: https://pypi.org/project/memtomem-stm/0.1.16/
Full changelog: https://github.com/memtomem/memtomem-stm/blob/main/CHANGELOG.md#0116--2026-04-22
🤖 Generated with Claude Code