PyMobileDevice3
June 29, 2026 ยท View on GitHub
pymobiledevice3 is a pure Python 3 implementation for interacting with iOS devices (iPhone, iPad, ...).
It ships both a command-line tool and a Python API, and runs on Windows, Linux, and macOS.
Highlights: device discovery, port forwarding, syslog/oslog streaming, app & profile management, AFC file access, crash reports, PCAP sniffing, firmware update, recovery/DFU, backup/restore, WebInspector automation, and DDI/DVT developer tooling (iOS 17+ over a tunnel).
Install
python3 -m pip install -U pymobiledevice3
Then verify connectivity:
pymobiledevice3 usbmux list
pymobiledevice3 syslog live
pymobiledevice3 apps list
Documentation
๐ Full documentation: https://doronz88.github.io/pymobiledevice3/
- Installation & platform notes
- CLI recipes
- iOS 17+ tunnels & support matrix
- Python API guide
- Python API reference
- Protocol internals (RemoteXPC, DTX, iDevice layers)
The docs are built from docs/ with MkDocs (mkdocs.yml).
Community
Questions, ideas, or want to help? Join the community on Discord.
Contributing
See CONTRIBUTING and Code of Conduct. Agent-specific contributor guidance is in AGENTS.
License and Credits
This work is licensed under GPL 3.0 and credited to several major contributors:
- Hector Martin "marcan" hector@marcansoft.com
- Mathieu Renard
- doronz doron88@gmail.com
- matan1008 matan1008@gmail.com
- Guy Salton
- netanelc305 netanelc305@protonmail.com
- Inbar Agmon inbar2812@gmail.com (Project's logo)