pure-python-adb
Pure python implementation of the adb client
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
- 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.
License · maintenance · safety
MIT license (permissive) — MIT license (permissive) means you can use, modify, and distribute this package freely with minimal restrictions, though you must include the license notice.
last release 2020-08-05 (2200 days) · last repo commit 2024-04-02 · 602 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 115,120 downloads/mo, #12,268 on PyPI
Alternatives
Verify before relying
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")- 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
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 on it.
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
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.
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.
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")
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 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Topic :: Software Development :: Testing |
Evidence: pure-python-adb-0.3.0.dev0.tar.gz
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 › “adb client python”
- pure-python-adbPure-Python ADB client that communicates with an ADB server to…
- alibabacloud-adb20211201Provides a Python client library for interacting with Alibaba Cloud's…
- adbutilsadbutils is a Python library that communicates with Android devices…
Give your agent the search over MCP, or paste the wish link into any chat.
More Testing packages
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
virtualenv creates isolated Python environments where packages can be installed independently without affecting the system Python or other projects.
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
pytest-asyncio is a pytest plugin that enables writing and running async test functions using the asyncio library, allowing developers to await code directly within test cases.
Install it if you write tests for any asyncio-based code.
A pytest plugin that generates test reports in Common Test Report Format (CTRF) as JSON, compatible with pytest-xdist and pytest-playwright for distributed and browser-based testing.
Install it if you need CTRF-formatted test output for CI/CD integration or cross-tool reporting.
See also adbutils · adb-shell · uiautomator · androidtvremote2 · uiautomator2 · alibabacloud-adb20211201 · pyaxmlparser · python-pam · pushbullet.py · androguard