PyInstaller's default webrtcvad hook was failing because we use webrtcvad-wheels (which provides the webrtcvad module but has a different package name for metadata purposes). Changes: - Created hooks/hook-webrtcvad.py custom hook - Tries to copy metadata from webrtcvad-wheels first - Falls back to webrtcvad if needed - Gracefully handles missing metadata (module still works) This prevents the "PackageNotFoundError: No package metadata was found for webrtcvad" error during PyInstaller build. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
26 lines
758 B
Python
26 lines
758 B
Python
"""
|
|
PyInstaller hook for webrtcvad.
|
|
|
|
The webrtcvad-wheels package provides webrtcvad module but uses a different
|
|
package name, causing PyInstaller's default hook to fail. This custom hook
|
|
handles the metadata correctly.
|
|
"""
|
|
|
|
from PyInstaller.utils.hooks import copy_metadata
|
|
|
|
# Try to copy metadata from webrtcvad-wheels (the actual package name)
|
|
# Fall back gracefully if not found
|
|
try:
|
|
datas = copy_metadata('webrtcvad-wheels')
|
|
except Exception:
|
|
# If webrtcvad-wheels metadata not found, try webrtcvad
|
|
try:
|
|
datas = copy_metadata('webrtcvad')
|
|
except Exception:
|
|
# If neither found, that's okay - the module will still work
|
|
datas = []
|
|
|
|
# Ensure webrtcvad binary extensions are included
|
|
hiddenimports = []
|
|
binaries = []
|