Skip to content

v0.8.2 — explicit profiles_path kwarg, lazy path resolution

Choose a tag to compare

@pretyflaco pretyflaco released this 23 May 11:40
· 87 commits to main since this release

Fixed

Voiceprint profile path was frozen at module-import time. PROFILES_PATH = Path.home() / ... was computed once at import meet.voiceprint time. When an embedder (such as vezir) overrode $HOME after import and called voiceprint functions in-process, reads and writes went to the original home directory instead of the overridden one. This caused the central voiceprint DB to go stale while a shadow copy at the real $HOME accumulated updates silently.

Changed

  • All public voiceprint functions accept an optional profiles_path keyword argument: load_profiles(), save_profiles(), identify_speakers(), update_profiles_from_confirmed_labels(), enroll_session(). When None (the default), the path is resolved at call time via _default_profiles_path(). Existing callers are unaffected.
  • New MEET_PROFILES_PATH environment variable overrides the default profile path.
  • PROFILES_PATH module constant is now a lazy attribute via PEP 562 __getattr__. from meet.voiceprint import PROFILES_PATH still works.