python-didl-lite
DIDL-Lite (Digital Item Declaration Language) tools for Python
What it is and what it does
python-didl-lite provides tools to read and write DIDL-Lite XML, the standard format for declaring digital items in UPnP media systems. It wraps the XML parsing and serialization logic needed to work with UPnP ContentDirectory metadata, following the UPnP-av specifications. The package is a straightforward codec: it does not enforce type checking or perform automatic data coercion, leaving that responsibility to the caller.
Typical use is in UPnP media servers, clients, or tools that need to parse or generate DIDL-Lite metadata describing audio, video, or image items. The single runtime dependency is defusedxml, which handles the XML I/O. The package targets modern Python (3.10+) and has been actively maintained since its 2018 initial release.
Use it for:
- Parse DIDL-Lite metadata from a UPnP ContentDirectory service response to extract item details
- Generate DIDL-Lite XML documents to describe media items in a UPnP media server
- Convert between DIDL-Lite and application-specific data structures in media management tools
- Validate or inspect DIDL-Lite documents against UPnP-av specifications
- Build UPnP client libraries that need to understand media item metadata
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Reads and writes DIDL-Lite XML documents, a standard format for declaring digital items in UPnP media systems.
Yes. The package solves a specific, well-defined problem (DIDL-Lite XML I/O) with low install friction, active maintenance, no known vulnerabilities, and a permissive license. Install it if you are building UPnP media tools or need to parse/generate DIDL-Lite metadata. Skip it if you do not work with UPnP systems.
Install
python-didl-lite on PyPI
pip
pip install python-didl-liteuv
uv add python-didl-litepoetry
poetry add python-didl-liteInstalling python-didl-lite
Before you install
Low friction: pure Python wheel with a single runtime dependency (defusedxml). Actively maintained with recent releases; last commit 2026-08-14. Supports current Python versions (3.10–3.14).
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions.
Quickstart
pip install python-didl-lite
import python_didl_lite
# Parse or create DIDL-Lite XML documents
# See tests/ for usage examples
Requires Python 3.10 or later. Note: the package does not perform type checking; users must handle data type coercion between strings and other types.
Verify before relying
- Whether the package handles all UPnP-av ContentDirectory v1 and v2 features completely
- Performance characteristics when working with large DIDL-Lite documents
- Whether defusedxml is used for security hardening against XML attacks
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — defusedxml |
| Maintenance | actively maintained — 223 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 156,658/month — #10,778 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_didl_lite-1.5.0-py3-none-any.whl
Keywords: DIDL, DIDL-lite
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
docxCreates, reads, and writes Microsoft Office…
unclear · top 15,000 on PyPI
igwn-ligolwReads, writes, and manipulates LIGO…
copyleft · top 15,000 on PyPI
itemloadersItemloaders extracts and standardizes…
permissive · top 5,000 on PyPI
dicttoxmlConverts Python dictionaries and other native…
copyleft · top 5,000 on PyPI
async-upnp-clientAsync UPnP client library for discovering,…
permissive · top 15,000 on PyPI
endesiveEndesive signs and verifies digital signatures…
unclear · top 15,000 on PyPI
doclangDocLang is a reference toolkit for validating…
permissive · top 5,000 on PyPI
xmlformatterFormats and compresses XML documents by…
permissive · top 15,000 on PyPI
xsdataxsdata generates Python dataclasses from XML…
permissive · top 5,000 on PyPI
xml-pythonConverts XML documents into Python objects,…
copyleft · top 5,000 on PyPI