{"id":28429,"library":"ubi-reader","title":"ubi-reader","description":"A Python library to extract files from UBI (Unsorted Block Images) and UBIFS (UBI File System) images. Supports UBI headers, volumes, and UBIFS nodes. Latest version 0.8.13 (requires Python >=3.10). Released about once every few months.","status":"active","version":"0.8.13","language":"python","source_language":"en","source_url":"https://github.com/jrspruitt/ubi_reader","tags":["UBI","UBIFS","filesystem","embedded","extraction"],"install":[{"cmd":"pip install ubi-reader","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Binary data parsing library used for UBI/UBIFS structures.","package":"construct","optional":false}],"imports":[{"wrong":"from ubireader import UBI","symbol":"UBI","correct":"from ubireader import UBI"}],"quickstart":{"code":"from ubireader import UBI\nfrom ubireader.ubifs import extract_files\nfrom ubireader.ubifs.output import extract_common\n\nwith open('image.ubi', 'rb') as f:\n    ubi = UBI(f)\n    for volume in ubi.volumes:\n        if volume.type == 'UBIFS':\n            extract_files(volume, 'output_dir')","lang":"python","description":"Load a UBI image and extract UBIFS volume contents to a directory."},"warnings":[{"fix":"Pre-decompress the image if using other algorithms.","message":"The library does not handle UBI images with encryption or compression other than LZO (if supported by construct). Ensure image is raw or LZO compressed.","severity":"gotcha","affected_versions":"all"},{"fix":"Iterate over ubi.volumes and pass each volume of type 'UBIFS' to extract_files.","message":"extract_files expects a volume object, not the whole UBI object. Common mistake: passing the UBI object directly.","severity":"gotcha","affected_versions":"all"},{"fix":"Use extract_files from ubireader.ubifs for UBIFS volumes.","message":"The old API ubireader.UBI.extract_all() is deprecated in favor of per-volume extraction.","severity":"deprecated","affected_versions":"<0.8.0"},{"fix":"Use ubireader.ubifs only for UBIFS volumes inside UBI images.","message":"The library only reads UBI images, not UBIFS images directly. To handle a standalone UBIFS image, you must wrap it in a minimal UBI structure or use an alternative.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'0.8.13':30 '3.10':33 'block':13 'embed':43 'everi':37 'extract':8,44 'file':9,18 'filesystem':42 'header':23 'imag':14,20 'latest':28 'librari':6 'month':39 'node':27 'python':5,32 'reader':3 'releas':34 'requir':31 'support':21 'system':19 'ubi':2,11,17,22,40 'ubi-read':1 'ubif':16,26,41 'unsort':12 'version':29 'volum':24","created_at":"2026-05-09T05:55:28.371515+00:00","updated_at":"2026-05-09T05:55:28.371515+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nImportError: cannot import name 'UBI' from 'ubireader' (/tmp/tmpq9rqz6cq/venv/lib/python3.12/site-packages/ubireader/__init__.py)"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"ubireader","cli_version":"sh: 1: ubireader: not found","type":"library","homepage":null,"github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/ubi-reader/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["data","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}