Skip to main content

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, and private_key inputs
  • 🌐 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
CLI screenshot

📋 Output Example

Here’s an example of what the output looks like when you run the tool:

Output example

🧾 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)

Source distribution for PyDCSL 0.5.0
File Size Uploaded
pydcsl-0.5.0.tar.gz 22.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for PyDCSL 0.5.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page