{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/18"},{"label":"Cryptography","url":"https://skillfed.io/packages/category/security-cryptography/2"},{"label":"Video","url":"https://skillfed.io/packages/category/multimedia-video"}],"enrichment":{"capability":"Implements Widevine Content Decryption Module (CDM) functionality in Python, enabling license acquisition and key retrieval for DRM-protected content.","skillfed_tags":["drm","widevine","cryptography"],"use_cases":["Acquire Widevine licenses programmatically for testing or research on DRM-protected streaming services.","Parse and convert PSSH headers to understand or debug DRM protection metadata in video files.","Build a custom license server or proxy that intercepts and logs Widevine license requests.","Automate license acquisition in a headless environment where a browser CDM is unavailable.","Create or manage WVD provision files for testing or device emulation."],"what_it_does":"pywidevine is a Python implementation of Google's Widevine Content Decryption Module (CDM), a DRM system used to protect streaming video. It handles the cryptographic handshake required to acquire decryption licenses from Widevine-protected services: you provide a PSSH header (Protection System Specific Header), a device provision, and a license server URL, and the library generates a license challenge, parses the server's response, and extracts the content keys. It exposes both a programmatic API (Cdm, Device, PSSH classes) and a command-line interface.\n\nThe package depends on protobuf, pymp4, pycryptodome, click, requests, Unidecode, and PyYAML. It is designed for license acquisition only, not for the full CDM lifecycle (downloading, decrypting, and decoding content). The documentation explicitly warns that content keys and decrypted data are not secure in this Python implementation and that the package requires a valid Google-provisioned device provision to operate.","worth_installing":"Yes, if you need Widevine license acquisition in Python and have a valid device provision. The package is stable, actively maintained (despite aging status), has no known vulnerabilities, and low install friction. However, the GPL-3.0 copyleft license is a hard blocker for proprietary projects, and you must obtain a Google-provisioned device provision separately\u2014the package itself does not provide one. Evaluate your legal and licensing obligations before use."},"id":"pywidevine","links":{"html":"https://skillfed.io/packages/pywidevine","md":"https://skillfed.io/packages/pywidevine.md","pypi":"https://pypi.org/project/pywidevine/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-10-27","license_spdx":null,"license_treatment":"copyleft","name":"pywidevine","python_support":"supports_current","summary":"Widevine CDM (Content Decryption Module) implementation in Python."},"popularity":{"monthly_downloads":128405,"position":11709,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.9.0"}
