Pure python3 implementation for working with iDevices (iPhone, etc...).
Overview
pymobiledevice3 is a pure Python 3 implementation for interacting with iOS devices (iPhone, iPad, ...). It ships both a and a , 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). - 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). The repository ships its device-operator agent skill as a Claude Code plugin, teaching the agent to operate a connected iPhone or iPad through pymobiledevice3: Questions, ideas, or want to help? Join the community on Discord. A huge thank you to our sponsors for supporting this project!
README
PyMobileDevice3
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, a CDP bridge that lets Chrome DevTools, VS Code and Playwright debug Safari and WebViews on the device, and DDI/DVT developer tooling (iOS 17+ over a tunnel).
Install
python3 -m pip install -U pymobiledevice3
PyPI is the only official distribution channel. Third-party packages (for example the AUR’s
python-pymobiledevice3) are not maintained by this project and may be outdated.
Then verify connectivity:
pymobiledevice3 usbmux list
pymobiledevice3 syslog live
pymobiledevice3 apps list
Documentation
📖 **Full documentation: **
- 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).
Claude Code plugin
The repository ships its device-operator agent skill as a Claude Code plugin, teaching the agent to operate a connected iPhone or iPad through pymobiledevice3:
/plugin marketplace add doronz88/pymobiledevice3
/plugin install pymobiledevice3-device-operator@pymobiledevice3
Community
Questions, ideas, or want to help? Join the community on Discord.
Sponsors
A huge thank you to our sponsors for supporting this project! 💖
Want to support the project as well? Sponsor it via GitHub Sponsors or Ko-fi.
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”
- Mathieu Renard
- doronz
- matan1008
- Guy Salton
- netanelc305
- Inbar Agmon (Project’s logo)
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add doronz88/pymobiledevice3


