"""Python dependencies used by the helper; optional cover tagging is excluded.""" from __future__ import annotations import importlib.metadata import re from pathlib import Path def requirements(yt_dlp="yt-dlp>=2026.8.19", ejs="yt-dlp-ejs"): return [yt_dlp, ejs, "brotli", "certifi", "pycryptodomex", "requests>=2.32.2,<3", "urllib3>=2,<3", "websockets>=13"] def validate_metadata(records): """Reject strong copyleft Python libraries before activating a bundle. FFmpeg is a separately executed program, so this policy concerns Python libraries loaded into the helper process, not the FFmpeg distribution. """ for metadata in records: name = re.sub(r"[-_.]+", "-", metadata.get("name", "").lower()) licenses = [metadata.get("license_expression") or "", metadata.get("license") or "", *metadata.get("classifier", [])] incompatible = name == "mutagen" or any( re.search(r"(?