Skip to content

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.

Get started CLI recipes Python API

What it can do

  • Device discovery over bonjour and USB (usbmux)
  • TCP port forwarding
  • Syslog and oslog streaming
  • Profile and application management
  • AFC file access
  • Crash report collection
  • Network sniffing (PCAP)
  • Firmware update, recovery/DFU workflows
  • Notification listen/post
  • Querying and setting SpringBoard options
  • WebInspector automation
  • DDI/DVT developer tooling (iOS 17+ over a tunnel)
  • Backup and restore

Where to go next

  • Installation

    Install from PyPI or source and run your first command.

  • CLI recipes

    Task-oriented examples for everyday commands.

  • iOS 17+ tunnels

    Reach developer services on modern iOS — including the no-root --userspace tunnel.

  • Python API

    Connect to a device and drive services from your own code.

  • API reference

    Generated reference for the public classes.

  • Protocol internals

    How the iDevice stack, RemoteXPC, and DTX actually work.

License and credits

Licensed under GPL-3.0-or-later. See the project page for the full list of contributors.