{"id":44460,"library":"cabarchive","title":"cabarchive","description":"A pure-python library for creating and extracting Microsoft cabinet (CAB) files. Current version 0.2.5, released sporadically.","status":"active","version":"0.2.5","language":"python","source_language":"en","source_url":"https://github.com/hughsie/python-cabarchive","tags":["cab","archive","microsoft"],"install":[{"cmd":"pip install cabarchive","lang":"bash","label":"Install cabarchive via pip"}],"dependencies":[],"imports":[{"note":"CabArchive is a class, not a module.","wrong":"import CabArchive","symbol":"CabArchive","correct":"from cabarchive import CabArchive"}],"quickstart":{"code":"from cabarchive import CabArchive\n\n# Create a CAB file\nwith CabArchive() as archive:\n    archive.add_bytes('hello.txt', b'Hello, world!')\n    archive.write('example.cab')\n\n# Extract a CAB file\narchive = CabArchive('example.cab')\nprint(archive.namelist())\nprint(archive.read('hello.txt'))","lang":"python","description":"Basic example of creating and reading CAB files."},"warnings":[{"fix":"Ensure archives fit in available memory.","message":"The library does not support streaming reads/writes; entire archive is held in memory.","severity":"gotcha","affected_versions":"all"},{"fix":"Replace add_file() with add_bytes() and read the file using open().","message":"The 'CabArchive.add_file' method is deprecated; use 'add_bytes' instead.","severity":"deprecated","affected_versions":">=0.2.0"},{"fix":"Always add at least one file to the archive before calling write().","message":"Writing an archive with no entries will produce an invalid CAB file.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'0.2.5':17 'archiv':21 'cab':13,20 'cabarch':1 'cabinet':12 'creat':8 'current':15 'extract':10 'file':14 'librari':6 'microsoft':11,22 'pure':4 'pure-python':3 'python':5 'releas':18 'sporad':19 'version':16","created_at":"2026-06-07T12:50:14.776489+00:00","updated_at":"2026-06-07T12:50:14.776489+00:00","problems":[{"fix":"Use: from cabarchive import CabArchive","cause":"Using 'import cabarchive' instead of 'from cabarchive import CabArchive'.","error":"AttributeError: module 'cabarchive' has no attribute 'CabArchive'"},{"fix":"Check file permissions or use a different path.","cause":"Opening an existing CAB file for reading without having write permissions in the directory.","error":"PermissionError: [Errno 13] Permission denied: 'example.cab'"},{"fix":"Add at least one file via add_bytes() or add() before write().","cause":"Calling write() on an empty CabArchive context.","error":"cabarchive.CabArchiveError: Cannot create CAB archive without any files added"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/hughsie/python-cabarchive","github":"https://github.com/hughsie/python-cabarchive","docs":null,"changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["storage"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":null}}