PyDCSL 🛡️🔐
A compact Python tool to check if a Widevine device certificate (DCSL) is revoked or valid.
📦 What is PyDCSL?
PyDCSL is a lightweight Python utility that interacts with a custom API to process Widevine license components — specifically .wvd, client_id, and private_key files — and fetch the corresponding DRM metadata.
It acts as a tool for DRM inspection, metadata extraction, and license validation purposes. The tool provides both a command-line interface (CLI) and an importable Python module.
⚙️ Features
- 🧾 Accepts
.wvd,client_id, andprivate_keyinputs - 🌐 Sends requests to a Widevine DCSL-compatible API
- 📊 Pretty-prints extracted metadata using
rich(if available) - 🧪 Supports both CLI and importable module
- 📁 Optionally saves results to a JSON file
🚀 Usage
🔧 Command-Line Interface
To get started with the CLI, simply run:
pydcsl -h
📋 Output Example
Here’s an example of what the output looks like when you run the tool:
🧾 License
This project is licensed under the MIT License. See the LICENSE file for more details.
❗ Disclaimer
This tool is intended for educational, debugging, and interoperability purposes only. Usage of Widevine-protected materials must comply with relevant laws and terms of service. The authors of this project do not condone or support illegal or unethical use.
🤝 Contributions
Contributions, fixes, and improvements are welcome! Feel free to open an issue or submit a pull request (PR).
Metadata
Release files for PyDCSL 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pydcsl-0.5.0.tar.gz | 22.2 kB | Without provenance | Details for pydcsl-0.5.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pydcsl-0.5.0-py3-none-any.whl | Python 3 | none | any | Details for pydcsl-0.5.0-py3-none-any.whl |
Total release size: 46.9 kB
Release files / pydcsl-0.5.0.tar.gz
| Download URL | pydcsl-0.5.0.tar.gz |
|---|---|
| Size | 22.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ad92fae7aa887d95d7ec776f95984f072b12c6a37e1e6d78cc031ba7065fd7d
|
|
BLAKE2b-256 checksum How to use checksums |
d6b7e9a6ec877145466e9fbe28993e74b8177038c441dd1a49212385c3e78ccc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|
Release files / pydcsl-0.5.0-py3-none-any.whl
| Download URL | pydcsl-0.5.0-py3-none-any.whl |
|---|---|
| Size | 24.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
35eaea5a8df576b130f83f014bf3d46b85e21c4c269f8d8d460eb52da870f5ce
|
|
BLAKE2b-256 checksum How to use checksums |
8d500989490f7e68349b18074bb99b3dd0395b24d8119f67f4bb97e8a8b842b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|
Security for PyDCSL 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.