DP

doronz88/pymobiledevice3

Developer tools
2.9K stars Quality 75 Trend 79GPL-3.0

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: **

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! 💖

TestingBot

SmartDust

AnNEDoMini

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:

View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add doronz88/pymobiledevice3