pymobiledevice3
Pure python3 implementation for working with iDevices (iPhone, etc...)
Decision gist · record as of 2026-08-14
Yes, if you need to automate or debug iOS devices. The package is actively maintained, has no known vulnerabilities, supports current Python versions, and offers both CLI and API interfaces. The GPL-3.0-or-later license requires that derivative works be open-source; proprietary integrations need legal review. The 47 runtime dependencies are substantial but necessary for protocol support; verify your use case doesn't require only a subset before committing to the full installation.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a connected iOS device via USB or network, and libusb system library for USB communication (platform-specific installation needed).
- Low friction: pure Python wheel with no compiled dependencies.
- Active maintenance with a release 1 day old and 2631 repository stars.
License · maintenance · safety
GPL-3.0-or-later (copyleft) — GPL-3.0-or-later copyleft license: any derivative work or distribution must also be licensed under GPL 3.0 or later. Suitable for open-source projects; proprietary software integrations require careful licensing review.
last release 2026-08-13 (1 days) · last repo commit 2026-08-13 · 2,631 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 612,797 downloads/mo, #5,754 on PyPI
Alternatives
Verify before relying
pip install pymobiledevice3
from pymobiledevice3.usbmux import USBMux
usbmux = USBMux()
devices = usbmux.devices()
for device in devices:
print(device)- Whether all 47 runtime dependencies are strictly necessary for basic CLI usage or if a minimal install profile is available.
- Specific iOS version compatibility matrix beyond the mention of iOS 17+ tunnel support.
- Performance characteristics when streaming large syslog volumes or managing many concurrent operations.
What it is and what it does
pymobiledevice3 is a Python implementation of Apple's iOS device communication protocols, allowing you to interact with iPhones and iPads programmatically or via command line. It handles the low-level protocol details (RemoteXPC, DTX, lockdownd) so you can focus on tasks like discovering devices, forwarding ports, reading system logs, managing apps, accessing files, and automating WebInspector workflows. The package ships both a CLI tool and a Python API, runs on Windows, Linux, and macOS, and supports modern iOS versions including iOS 17+ with tunnel-based developer tooling.
The library's main use is in automation, testing, and debugging workflows where you need programmatic control over iOS devices. It depends on a large set of utilities (construct for binary parsing, cryptography for secure communication, pyusb for USB access, fastapi for optional server modes, and others) to handle the complexity of Apple's proprietary protocols. Installation is straightforward on all platforms, though USB communication requires the system libusb library.
Use it for
- Automate app installation, launch, and testing on physical iOS devices in CI/CD pipelines.
- Stream device syslog or oslog in real time for debugging and monitoring during development.
- Extract crash reports and device diagnostics programmatically for analysis.
- Perform firmware updates, recovery mode operations, or device backup/restore workflows.
- Inspect and automate web content on iOS devices using WebInspector protocol.
- Access device file systems via AFC protocol for file transfer and inspection.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to automate or debug iOS devices.
The package is actively maintained, has no known vulnerabilities, supports current Python versions, and offers both CLI and API interfaces. The GPL-3.0-or-later license requires that derivative works be open-source; proprietary integrations need legal review. The 47 runtime dependencies are substantial but necessary for protocol support; verify your use case doesn't require only a subset before committing to the full installation.
Install
pymobiledevice3 on PyPI
Before you install
Low friction: pure Python wheel with no compiled dependencies. Active maintenance with a release 1 day old and 2631 repository stars. Supports Python 3.9 through 3.14, though the 47 runtime dependencies (construct, cryptography, fastapi, pyusb, and others) create a moderately large installation footprint.
Requires a connected iOS device via USB or network, and libusb system library for USB communication (platform-specific installation needed).
License in practice
GPL-3.0-or-later copyleft license: any derivative work or distribution must also be licensed under GPL 3.0 or later. Suitable for open-source projects; proprietary software integrations require careful licensing review.
Quickstart
pip install pymobiledevice3
from pymobiledevice3.usbmux import USBMux
usbmux = USBMux()
devices = usbmux.devices()
for device in devices:
print(device)
Verify before relying
- Whether all 47 runtime dependencies are strictly necessary for basic CLI usage or if a minimal install profile is available.
- Specific iOS version compatibility matrix beyond the mention of iOS 17+ tunnel support.
- Performance characteristics when streaming large syslog volumes or managing many concurrent operations.
Package facts
| License | GPL-3.0-or-later copyleft |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 47 packagesconstructconstruct-typingasn1coloredlogsIPythonbpylist2pygmentshexdumpdaemonizegpxpypykdebugparserpyusbtqdmrequestsxonshparameter_decoratorspackagingtyping_extensionspygnuutilscryptographypycrashreportfastapiuvicornwsprotoPillowquestionaryipsw_parserifaddrhyperframesrptools |
| Maintenance | Actively maintained 1 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 612,797 / month, #5,754 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9 |
Evidence: pymobiledevice3-10.7.4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “ios device control python”
- pymobiledevice3A pure Python library and command-line tool for interacting with iOS…
- facebook-wdaPython client library for controlling iOS devices via Facebook's…
- fb-idbA command-line and Python client for automating iOS Simulators and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also pyiosbackup · fb-idb · pykdebugparser · pyimg4 · ipsw-parser · pyobjc-framework-IOBluetooth · pyobjc-framework-DeviceDiscoveryExtension · pylibftdi · binho-host-adapter · la-panic