Skip to main content

Pure python3 implementation for working with iDevices (iPhone, etc...)

Project description

PyMobileDevice3

Python application Pypi version Downloads Discord Ask DeepWiki

Overview

pymobiledevice3 is a pure Python 3 implementation for interacting with iOS devices (iPhone, iPad, ...). It includes both a CLI and a Python API and is supported on:

  • Windows
  • Linux
  • macOS

Main features:

  • Device discovery over bonjour
  • 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 (notify_post())
  • Querying and setting SpringBoard options
  • WebInspector automation
  • DDI/DVT developer tooling
  • Backup and restore

Quick Start

Install from PyPI:

python3 -m pip install -U pymobiledevice3

Or install from source:

git clone git@github.com:doronz88/pymobiledevice3.git
cd pymobiledevice3
python3 -m pip install -U -e .

Verify connectivity and run first commands:

pymobiledevice3 usbmux list
pymobiledevice3 syslog live
pymobiledevice3 apps list

Platform Notes

Support Matrix (Developer Services)

iOS >= 17 developer services require tunnel-based transport.

Host OS iOS 17.0-17.3.1 iOS 17.4+
macOS Supported Supported
Windows Supported (requires additional drivers) Supported
Linux Limited Supported (lockdown tunnel)

See the detailed guide: iOS 17+ tunnels

Common CLI Tasks

See full recipes: CLI recipes

# List connected devices
pymobiledevice3 usbmux list

# Watch syslog
pymobiledevice3 syslog live

# Pull crash reports
pymobiledevice3 crash pull /path/to/crashes

# Mount DDI
pymobiledevice3 mounter auto-mount

# DVT screenshot (requires developer setup)
pymobiledevice3 developer dvt screenshot /path/to/screen.png

Install shell completions:

pymobiledevice3 install-completions

Python API and Protocol Internals

Documentation Map

See Documentation index for task-focused guides.

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:

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymobiledevice3-9.8.1.tar.gz (758.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymobiledevice3-9.8.1-py3-none-any.whl (797.5 kB view details)

Uploaded Python 3

File details

Details for the file pymobiledevice3-9.8.1.tar.gz.

File metadata

  • Download URL: pymobiledevice3-9.8.1.tar.gz
  • Upload date:
  • Size: 758.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pymobiledevice3-9.8.1.tar.gz
Algorithm Hash digest
SHA256 621479ad545795e52af1955e0cc6c8e807b51d81442173b3386f9d1fef21308a
MD5 bcd03f79ab7b615aa059e9fc1624ab52
BLAKE2b-256 a10e81b8c391929cb2e2c9c831968df5c9cabc5687ab5d45fc9c345fcdb48171

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymobiledevice3-9.8.1.tar.gz:

Publisher: python-publish.yml on doronz88/pymobiledevice3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymobiledevice3-9.8.1-py3-none-any.whl.

File metadata

  • Download URL: pymobiledevice3-9.8.1-py3-none-any.whl
  • Upload date:
  • Size: 797.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pymobiledevice3-9.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e1a5c8277a8a7955544579f118da8645f83ac05a1a03e79a96307242089842a
MD5 cd0dffd173d563d8d0e19531103e9ec9
BLAKE2b-256 1a583275db73730e99a6345231a7deeef5b184bd6a26b5dd40adefcb5ad0f84d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymobiledevice3-9.8.1-py3-none-any.whl:

Publisher: python-publish.yml on doronz88/pymobiledevice3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page