pure-python-adb
Pure python implementation of the adb client
What it is and what it does
Pure-python-adb is a Python implementation of an ADB (Android Debug Bridge) client that connects to an ADB server to communicate with Android devices and emulators. Instead of shelling out to the native adb command-line tool, it implements the ADB protocol directly in Python, allowing you to programmatically control devices from within your code.
The package supports most common ADB operations: listing devices, executing shell commands, installing and uninstalling APKs, pushing and pulling files, taking screenshots, and remote connections. However, the package has been dormant since 2020 and requires an external ADB server to be running—it does not manage the server itself.
Use it for:
- Automate APK installation and testing across multiple Android devices or emulators in CI/CD pipelines
- Run shell commands on Android devices programmatically to extract logs, system info, or app data
- Build test automation frameworks that need to control Android emulators without subprocess calls
- Capture screenshots or pull files from devices as part of automated testing or monitoring workflows
- Manage remote device connections and execute batch operations across a device farm
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pure-Python ADB client that communicates with an ADB server to control Android devices and emulators without requiring the native ADB binary.
No—unless you have a specific legacy codebase already using this package. The project is dormant (last release 2020-08-05), offers no recent maintenance, and high install friction from being a tarball with no dependencies. For new projects, consider maintained alternatives or direct ADB server communication via subprocess if the overhead is acceptable.
Install
pure-python-adb on PyPI
pip
pip install pure-python-adbuv
uv add pure-python-adbpoetry
poetry add pure-python-adbInstalling pure-python-adb
Before you install
High install friction due to being a pure-Python tarball with no runtime dependencies. The package is dormant—last release was 2020-08-05, over 2200 days ago, with no recent commits. Use only if you accept that maintenance and bug fixes are unlikely.
License in practice
MIT license (permissive) means you can use, modify, and distribute this package freely with minimal restrictions, though you must include the license notice.
Quickstart
pip install pure-python-adb
from pure_python_adb.client import Client as AdbClient
client = AdbClient(host="127.0.0.1", port=5037)
device = client.device("emulator-5554")
device.shell("echo hello world")
Requires an ADB server running on the specified host and port (default 127.0.0.1:5037); the package does not start the server itself.
Verify before relying
- Whether the package works with modern Android SDK versions and emulator configurations
- Compatibility with Python versions beyond 3.6 (requires_python field is empty)
- Whether async client variant is production-ready or experimental
Package facts
| License | MIT license (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | dormant — 2,200 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 115,120/month — #12,268 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pure-python-adb-0.3.0.dev0.tar.gz
Keywords: adb
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
adbutilsadbutils is a Python library that communicates…
permissive · top 15,000 on PyPI
adb-shellImplements ADB (Android Debug Bridge) shell and…
permissive · top 15,000 on PyPI
uiautomatorPython wrapper for Android's uiautomator…
permissive · top 15,000 on PyPI
androidtvremote2A Python library for controlling Android TV…
permissive · top 15,000 on PyPI
uiautomator2Automates Android device interactions from…
permissive · top 15,000 on PyPI
alibabacloud-adb20211201Provides a Python client library for…
permissive · top 5,000 on PyPI
pyaxmlparserParses Android APK files to extract metadata…
permissive · top 15,000 on PyPI
python-pamPython wrapper for Linux PAM (Pluggable…
permissive · top 5,000 on PyPI
pushbullet.pyA Python client library for the Pushbullet API…
permissive · top 15,000 on PyPI
androguardAndroguard is a Python tool for analyzing,…
permissive · top 5,000 on PyPI