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).
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 | |
|---|---|---|---|
| pydcsl-0.5.0.tar.gz | 22.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pydcsl-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
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
|