pycdlib
Pure python ISO manipulation library
What it is and what it does
PyCdlib is a pure Python implementation for working with ISO9660 disc images—the standard format for CDs, DVDs, and USB boot media. It handles the ISO9660 specification and supports extensions including El Torito for bootability, Joliet for long filenames on Windows, Rock Ridge for Unix-like systems, and UDF for modern optical media. With no external dependencies, it runs on any Python 3.10+ environment.
Typical use cases include programmatically creating bootable ISO images, parsing existing disc images to extract or inspect files, and writing modified images back to disk. The library is suitable for automation tasks, system tools, and applications that need to generate or manipulate disc media without relying on system-level tools.
Use it for:
- Create bootable ISO images for Linux distributions or Windows installers programmatically.
- Parse and extract files from existing ISO9660 images without external tools.
- Generate custom disc images with Joliet or Rock Ridge extensions for cross-platform compatibility.
- Build automated workflows that manipulate ISO metadata and file hierarchies.
- Write disc images to USB media or virtual machines in CI/CD pipelines.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyCdlib is a pure Python library for parsing, creating, and writing ISO9660 disc image files, supporting extensions like El Torito, Joliet, Rock Ridge, and UDF.
Yes. The package is actively maintained, has no external dependencies, supports current Python versions (3.10 through 3.14), carries no known vulnerabilities, and fills a genuine need for ISO manipulation in pure Python. The LGPL-2.1-only license is permissive for most use cases but requires attention if you plan to distribute derivative works.
Install
pycdlib on PyPI
pip
pip install pycdlibuv
uv add pycdlibpoetry
poetry add pycdlibInstalling pycdlib
Before you install
Low install friction with no runtime dependencies; actively maintained with a release 9 days old and commits as recent as 2026-08-11.
License in practice
Licensed under LGPL-2.1-only (copyleft); derivative works and distributions must include source code and license terms.
Quickstart
pip install pycdlib
import pycdlib
iso = pycdlib.PyCdlib()
iso.new()
iso.add_file('/path/to/file.txt', '/FILE.;1')
iso.write('/tmp/output.iso')
Requires Python 3.10 or later.
Verify before relying
- Whether the library handles large ISO images efficiently or has known performance limitations.
- Support for modern UDF versions and compliance with current ISO9660 standards beyond the original specification.
- Specific Rock Ridge version support and compatibility with various Unix-like systems.
Package facts
| License | LGPL-2.1-only (copyleft) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 9 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,020,701/month — #4,493 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pycdlib-1.20.0-py2.py3-none-any.whl
Keywords: iso9660, iso, ecma119, rockridge, joliet, eltorito, udf
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pyobjc-framework-DiscRecordingProvides Python bindings to Apple's…
permissive · top 15,000 on PyPI
pyobjc-framework-DiscRecordingUIProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
PyPDF3PyPDF3 is a pure-Python PDF toolkit for…
permissive · top 15,000 on PyPI
pyu2fpyu2f provides U2F (Universal 2nd Factor)…
permissive · top 15,000 on PyPI
udatetimeudatetime provides fast RFC3339-compliant…
permissive · top 15,000 on PyPI
pydicomPydicom reads, modifies, and writes DICOM…
permissive · top 5,000 on PyPI
iso8601Parses ISO 8601 date strings (e.g.…
permissive · top 5,000 on PyPI
borbborb reads, writes, and manipulates PDF files…
agpl · top 15,000 on PyPI
pycparserpycparser is a C language parser written in…
permissive · top 100 on PyPI
pycountryProvides programmatic access to ISO standard…
copyleft · top 1,000 on PyPI