pyiosbackup
A python parser for iOS backups
What it is and what it does
pyiosbackup is a utility for reading and decrypting password-protected iOS device backups. It provides both a command-line interface and a Python API to extract files from backup archives, either in bulk or by specific domain and file path. The package handles the cryptographic decryption and binary format parsing required to access backup contents.
The tool is designed for scenarios where you have a local encrypted iOS backup (typically created via iTunes or similar tools) and need programmatic access to its contents. It depends on cryptography for decryption, construct for binary parsing, click for CLI scaffolding, and bpylist2 for Apple plist format handling. The package targets developers and system administrators working with iOS device data extraction and forensics.
Use it for:
- Extract all files from an encrypted iOS backup to a local directory for archival or analysis.
- Retrieve a specific file from a backup by domain and path (e.g., com.apple.backupd.plist) for inspection.
- Programmatically iterate over backup contents in a Python script to audit or process device data.
- Recover individual files from an iOS backup without needing Apple's proprietary tools.
- Automate backup parsing in a data recovery or forensics workflow.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses and decrypts iOS device backups, extracting individual files or entire backup contents via CLI or Python API.
Yes, if you need to programmatically access iOS backup contents. The package is stable (marked Production/Stable), has no known vulnerabilities, and installs cleanly with common dependencies. The GPLv3+ license is a constraint only if you plan to incorporate it into proprietary software. The aging maintenance status (193 days since last release) is not a blocker for read-only backup parsing, but monitor the repo for iOS format changes if you rely on it long-term.
Install
pyiosbackup on PyPI
pip
pip install pyiosbackupuv
uv add pyiosbackuppoetry
poetry add pyiosbackupInstalling pyiosbackup
Before you install
Low install friction with five straightforward dependencies. Marked as aging (last release 193 days ago), but repo remains active and not archived. Supports Python 3.7 through 3.14.
License in practice
GPLv3+ copyleft license requires derivative works and distributions to remain open-source under the same license. Suitable for personal use and open-source projects; proprietary software integration would require GPL compliance or separate licensing.
Quickstart
pip install pyiosbackup
from pyiosbackup import Backup
backup = Backup.from_path('BACKUP_PATH', '1234')
for file in backup.iter_files():
print(file.filename)
Requires an encrypted iOS backup created with a numeric password; the password must be provided to decrypt.
Verify before relying
- Compatibility with specific iOS versions or backup formats beyond what the classifiers indicate.
- Performance characteristics when handling large backups (size limits, memory usage).
- Whether bpylist2 and construct dependencies are actively maintained for current iOS backup structures.
Package facts
| License | GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license… (full text in the JSON record) (copyleft) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — bpylist2, cryptography, packaging, construct, click |
| Maintenance | aging — 193 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 97,763/month — #13,128 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyiosbackup-0.2.4-py3-none-any.whl
Keywords: ios, backup, automation
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
android_backupUnpacks and repacks Android backup files (.ab…
permissive · top 15,000 on PyPI
django-dbbackupProvides Django management commands to backup…
permissive · top 15,000 on PyPI
pymobiledevice3A pure Python library and command-line tool for…
copyleft · top 15,000 on PyPI
borgbackupBorgBackup is a command-line deduplicating…
permissive · top 15,000 on PyPI
ipsw-parserParses and extracts data from iOS IPSW firmware…
copyleft · top 15,000 on PyPI
opack2opack2 parses the opack binary format, a…
copyleft · top 15,000 on PyPI
developer-disk-imageFetches Apple's DeveloperDiskImage files…
copyleft · top 15,000 on PyPI
bpylist2Reads and writes Apple's binary plist format…
permissive · top 15,000 on PyPI
pywxdumpExtracts WeChat account metadata, decrypts chat…
permissive · top 15,000 on PyPI
pyimg4PyIMG4 parses Apple's Image4 format through a…
permissive · top 15,000 on PyPI