--- id: pymobiledevice3 version: "10.7.4" license: GPL-3.0-or-later license_treatment: copyleft maintenance: active --- # pymobiledevice3 — Pure python3 implementation for working with iDevices (iPhone, etc...) License: copyleft · Maintenance: active · Downloads: 612.8K/mo ## What it is and what it does pymobiledevice3 is a Python implementation of Apple's iOS device communication protocols, allowing you to interact with iPhones and iPads programmatically or via command line. It handles the low-level protocol details (RemoteXPC, DTX, lockdownd) so you can focus on tasks like discovering devices, forwarding ports, reading system logs, managing apps, accessing files, and automating WebInspector workflows. The package ships both a CLI tool and a Python API, runs on Windows, Linux, and macOS, and supports modern iOS versions including iOS 17+ with tunnel-based developer tooling. The library's main use is in automation, testing, and debugging workflows where you need programmatic control over iOS devices. It depends on a large set of utilities (construct for binary parsing, cryptography for secure communication, pyusb for USB access, fastapi for optional server modes, and others) to handle the complexity of Apple's proprietary protocols. Installation is straightforward on all platforms, though USB communication requires the system libusb library. Use it for: - Automate app installation, launch, and testing on physical iOS devices in CI/CD pipelines. - Stream device syslog or oslog in real time for debugging and monitoring during development. - Extract crash reports and device diagnostics programmatically for analysis. - Perform firmware updates, recovery mode operations, or device backup/restore workflows. - Inspect and automate web content on iOS devices using WebInspector protocol. - Access device file systems via AFC protocol for file transfer and inspection. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. A pure Python library and command-line tool for interacting with iOS devices over USB or network, enabling device discovery, file access, app management, syslog streaming, and developer tooling. Yes, if you need to automate or debug iOS devices. The package is actively maintained, has no known vulnerabilities, supports current Python versions, and offers both CLI and API interfaces. The GPL-3.0-or-later license requires that derivative works be open-source; proprietary integrations need legal review. The 47 runtime dependencies are substantial but necessary for protocol support; verify your use case doesn't require only a subset before committing to the full installation. ## Install pip install pymobiledevice3 uv add pymobiledevice3 poetry add pymobiledevice3 ## Installing pymobiledevice3 Before you install: Low friction: pure Python wheel with no compiled dependencies. Active maintenance with a release 1 day old and 2631 repository stars. Supports Python 3.9 through 3.14, though the 47 runtime dependencies (construct, cryptography, fastapi, pyusb, and others) create a moderately large installation footprint. License in practice: GPL-3.0-or-later copyleft license: any derivative work or distribution must also be licensed under GPL 3.0 or later. Suitable for open-source projects; proprietary software integrations require careful licensing review. Quickstart: pip install pymobiledevice3 from pymobiledevice3.usbmux import USBMux usbmux = USBMux() devices = usbmux.devices() for device in devices: print(device) Requires a connected iOS device via USB or network, and libusb system library for USB communication (platform-specific installation needed). Verify before relying: - Whether all 47 runtime dependencies are strictly necessary for basic CLI usage or if a minimal install profile is available. - Specific iOS version compatibility matrix beyond the mention of iOS 17+ tunnel support. - Performance characteristics when streaming large syslog volumes or managing many concurrent operations. ## Package facts - License: GPL-3.0-or-later (copyleft) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 612.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags ios device control python, iphone automation cli, ios file access afc, device debugging tools, ios app management, mobile device protocol, ios syslog streaming, ios-automation, device-debugging, protocol-implementation [View on SkillFed](https://skillfed.io/packages/pymobiledevice3) · [View on PyPI](https://pypi.org/project/pymobiledevice3/)