skillfed

pycdlib

Pure python ISO manipulation library

pycdlib v1.20.0 1.0M downloads/30d#4,493 on PyPI180
Copyleft license LGPL-2.1-only Active released

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 pycdlib

uv

uv add pycdlib

poetry

poetry add pycdlib

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

ISO9660 file creationCD image manipulationparse ISO filescreate bootable ISOUDF disc imageJoliet Rock Ridge supportwrite ISO to USB
iso-imagedisc-authoringbootable-media

More Utilities packages