cabarchive
A pure-python library for creating and extracting cab files
What it is and what it does
cabarchive is a pure-Python implementation for reading and writing Microsoft Cabinet archive files. It provides a straightforward interface to extract CAB archives and create new ones, all without requiring external binaries or compiled dependencies. The library is designed for developers who need to work with CAB files in Python environments where external tools like cabextract may not be available or desirable.
The package has been in development since 2018 and is classified as Beta. It carries no runtime dependencies, making it lightweight to integrate. The codebase is maintained but aging—the last release occurred 185 days ago, suggesting it is stable but not under active feature development. For straightforward CAB extraction and creation tasks, it offers a self-contained solution.
Use it for:
- Extract Windows driver CAB files or firmware updates in Python without external tools.
- Automate unpacking of legacy Microsoft software distributions packaged as CAB archives.
- Create CAB archives programmatically for Windows deployment or distribution workflows.
- Parse and inspect CAB file contents in cross-platform Python applications.
- Integrate CAB handling into build or packaging pipelines without system dependencies.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A pure-Python library for creating and extracting Microsoft Cabinet (CAB) archive files without external dependencies.
Yes, if you need pure-Python CAB file handling without external dependencies. The library is stable, has no runtime dependencies, and carries no known vulnerabilities. The aging maintenance status and Beta classification mean it is not under active development, but it is suitable for straightforward extraction and creation tasks. Review LGPL-2.1-or-later copyleft obligations if integrating into proprietary software.
Install
cabarchive on PyPI
pip
pip install cabarchiveuv
uv add cabarchivepoetry
poetry add cabarchiveInstalling cabarchive
Before you install
Low install friction with no runtime dependencies. Maintenance is aging—last release was 185 days ago, though the repository remains active with a recent commit on 2026-02-10. Suitable for stable, maintenance-light use cases.
License in practice
Licensed under LGPL-2.1-or-later (copyleft). Any derivative work or distribution must comply with copyleft obligations; proprietary projects should review compatibility before use.
Quickstart
pip install cabarchive
import cabarchive
# Extract a CAB file
cab = cabarchive.CabArchive('archive.cab')
cab.extractall('output_directory')
Verify before relying
- Whether the library supports all CAB compression formats and edge cases in real-world archives.
- Performance characteristics when handling large or complex CAB files.
- Specific Python version compatibility (requires_python is unspecified in metadata).
Package facts
| License | LGPL-2.1-or-later (copyleft) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 185 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 75,881/month — #14,673 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cabarchive-0.2.5-py3-none-any.whl
Keywords: cabextract, cab, archive, extract
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
handy-archivesProvides utility functions for working with…
permissive · top 15,000 on PyPI
extractcodeExtracts a wide range of archive formats (tar,…
permissive · top 15,000 on PyPI
tnefparseDecodes Microsoft's Transport Neutral…
copyleft · top 15,000 on PyPI
jupyter-archiveA JupyterLab extension that adds archive…
permissive · top 15,000 on PyPI
tzsttzst creates and extracts tar archives…
permissive · top 15,000 on PyPI
rpmfileInspect and extract files from RPM archive…
permissive · top 5,000 on PyPI
libarchive-clibarchive-c provides a Python interface to…
permissive · top 15,000 on PyPI
pyunpackUnpacks archive files in Python with support…
permissive · top 15,000 on PyPI
arParses and reads ar archive files (.a),…
permissive · top 15,000 on PyPI
pyinstxtractor-ngExtracts Python bytecode and resources from…
copyleft · top 15,000 on PyPI