Tool
pymobiledevice3
Pure Python 3 library and command-line tool for communicating with iPhones, iPads and other iOS devices from Windows, Linux or macOS, implementing usbmux, lockdown and its services, DTX-based developer (DVT) services and the RemoteXPC tunnels that iOS 17+ uses for developer access. Commands cover device discovery and port forwarding, syslog and crash-report collection, AFC file access, app and profile management, PCAP capture of device traffic, Bluetooth HCI logging, WebInspector automation with a Chrome DevTools Protocol bridge for Safari and WebViews, and DVT tooling such as process monitoring and screenshots; firmware update, recovery/DFU and backups are also handled. Its protocol-internals documentation walks through the usbmux, lockdown, DTX and RemoteXPC layers, and helper scripts in misc/ sniff plist and RemoteXPC traffic.
- Targets
- App · Protocol
- Category
- Debugging and dynamic analysis
- Relationship
- Foundation tool
- Sources reviewed
- Stars
- 3.0k
- Last commit
- 2026-11-09
- Language
- Python
- License (GitHub)
- GPL-3.0
GitHub data as of 2026-11-09
Requirements & limits
- Version v11.38.0 was published to GitHub and PyPI on 2026-10-19. The README names PyPI as the only official distribution channel and says third-party packages such as AUR may be outdated. Requires Python 3.9+.
- Needs a connected or networked iOS device the user controls. Windows needs iTunes for the Apple Mobile Device Service and Linux needs usbmuxd; macOS uses the system usbmuxd. OpenSSL is required for iOS versions before 13 and libusb for recovery/DFU. The tunnels guide says iOS 17.4+ developer commands open an in-process tunnel without root, while iOS 17.0-17.3.1 on Linux or Windows needs a root tunneld.
- Developer services require Developer Mode and Apple's Developer Disk Image. The auto-mounter's developer_disk_image dependency downloads Apple image files from a separate rehosting repository; Apple's files retain Apple's rights.
- GPL-3.0-or-later. The repository also ships a device-operator agent skill for driving devices through the CLI.
Cite
BibTeX
@misc{pymobiledevice3,
title = {{pymobiledevice3}},
howpublished = {\url{https://github.com/doronz88/pymobiledevice3}},
url = {https://github.com/doronz88/pymobiledevice3},
urldate = {2026-10-19},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/pymobiledevice3/}}
}Plain text
pymobiledevice3. https://github.com/doronz88/pymobiledevice3 (accessed 2026-10-19). Awesome REA entry: https://awesomerea.org/resources/pymobiledevice3/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · doronz88/pymobiledevice3 · Revision 9ea9491
- docs/installation.md GitHub · doronz88/pymobiledevice3 · Revision 9ea9491
- docs/guides/cli-recipes.md GitHub · doronz88/pymobiledevice3 · Revision 9ea9491
- docs/guides/ios17-tunnels.md GitHub · doronz88/pymobiledevice3 · Revision 9ea9491
- misc/understanding_idevice_protocol_layers.md GitHub · doronz88/pymobiledevice3 · Revision 9ea9491
- misc/RemoteXPC.md GitHub · doronz88/pymobiledevice3 · Revision 9ea9491
- pymobiledevice3/dtx/README.md GitHub · doronz88/pymobiledevice3 · Revision 9ea9491
- misc/remotexpc_sniffer.py GitHub · doronz88/pymobiledevice3 · Revision 9ea9491
- pymobiledevice3/services/mobile_image_mounter.py GitHub · doronz88/pymobiledevice3 · Revision 9ea9491
- pyproject.toml GitHub · doronz88/pymobiledevice3 · Revision 9ea9491
- docs/guides/codex-device-operator-skill.md GitHub · doronz88/pymobiledevice3 · Revision 9ea9491
- LICENSE GitHub · doronz88/pymobiledevice3 · Revision 9ea9491
- https://github.com/doronz88/pymobiledevice3/releases/tag/v11.38.0
- https://pypi.org/project/pymobiledevice3/11.38.0/