$npx skillfedfor your agent

adb-shell

A Python implementation of ADB with shell and FileSync functionality.

With conditionsPyPI NetworkingReleased Sep 2023128.4K downloads / mopermissive licenseSource build

Decision gist · record as of 2026-08-14

sdist only — adb_shell-0.4.4.tar.gz · builds from source
v0.4.4 · released 2023-09-01

Yes, with conditions. The package is stable, has no known vulnerabilities, and carries a permissive license. However, it is dormant (last release over a year ago), so install only if you need ADB protocol support in Python and can tolerate lack of active maintenance. High install friction (source-only distribution) is a minor friction point but not a blocker. Suitable for automation and testing workflows where you control the Android ecosystem.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires RSA key pair for authentication; USB support requires optional installation via pip install adb-shell[usb]; async support requires Python 3.7+ and pip install adb-shell[async].
  • High install friction: the package ships as a source distribution with no prebuilt wheels in the standard index.
  • Maintenance is dormant—last release was over a year ago (2023-09-01) and the last commit was 2024-10-29, indicating the project is not actively developed but remains available.

License · maintenance · safety

permissive license (permissive) — Licensed under Apache License 2.0 (permissive), which allows commercial and private use with minimal restrictions, making it safe to adopt from a licensing perspective.

last release 2023-09-01 (1078 days) · last repo commit 2024-10-29 · 606 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 128,383 downloads/mo, #11,712 on PyPI

Verify before relying

from adb_shell.adb_device import AdbDeviceTcp
from adb_shell.auth.sign_pythonrsa import PythonRSASigner

device = AdbDeviceTcp('192.168.0.222', 5555)
device.connect(rsa_keys=[signer])
response = device.shell('echo TEST')
  • Current compatibility with modern Android versions and ADB protocol revisions
  • Whether dormant status affects reliability or security posture in active use
  • Actual Python version support despite classifiers listing Python 2 and 3
Same gist for agents: .md · .json

What it is and what it does

adb-shell is a pure-Python implementation of the Android Debug Bridge protocol, allowing you to connect to and control Android devices programmatically from Python code. It supports both TCP connections (over network) and USB connections, and implements both the shell command interface and the FileSync protocol for file transfer. The package originated from Google's python-adb project and provides authentication via RSA keys.

The library is used primarily for automation, testing, and device management workflows where you need to execute shell commands on Android devices or transfer files without relying on the official ADB command-line tool. It has no runtime dependencies in its base form, though optional async and USB support can be added via extras. The project is dormant but stable, with no known security vulnerabilities.

Use it for

  • Automate Android device testing by executing shell commands and capturing output programmatically
  • Build device management tools that control multiple Android devices over a network
  • Transfer files to and from Android devices as part of CI/CD or deployment pipelines
  • Integrate Android device control into Python-based monitoring or orchestration systems

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, with conditions.

The package is stable, has no known vulnerabilities, and carries a permissive license. However, it is dormant (last release over a year ago), so install only if you need ADB protocol support in Python and can tolerate lack of active maintenance. High install friction (source-only distribution) is a minor friction point but not a blocker. Suitable for automation and testing workflows where you control the Android ecosystem.

Install

adb-shell on PyPI

Before you install

High install friction: the package ships as a source distribution with no prebuilt wheels in the standard index. Maintenance is dormant—last release was over a year ago (2023-09-01) and the last commit was 2024-10-29, indicating the project is not actively developed but remains available.

Requires RSA key pair for authentication; USB support requires optional installation via pip install adb-shell[usb]; async support requires Python 3.7+ and pip install adb-shell[async].

License in practice

Licensed under Apache License 2.0 (permissive), which allows commercial and private use with minimal restrictions, making it safe to adopt from a licensing perspective.

Quickstart

from adb_shell.adb_device import AdbDeviceTcp
from adb_shell.auth.sign_pythonrsa import PythonRSASigner

device = AdbDeviceTcp('192.168.0.222', 5555)
device.connect(rsa_keys=[signer])
response = device.shell('echo TEST')

Verify before relying

  • Current compatibility with modern Android versions and ADB protocol revisions
  • Whether dormant status affects reliability or security posture in active use
  • Actual Python version support despite classifiers listing Python 2 and 3

Package facts

Licensepermissive license permissive
Python supportNot specified
Install frictionHigh. Source build required
Runtime dependenciesNone
MaintenanceDormant 1,078 days since the last release
Last repo commit
First released
Downloads128,383 / month, #11,712 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 3

Evidence: adb_shell-0.4.4.tar.gz

Tags

Capabilities
adb shell pythonandroid debug bridge libraryadb device communicationandroid device control pythonadb protocol implementationadb tcp usb connectionandroid shell commands python
Topics
android-automationdevice-controladb-protocol
PyPI keywords
adbandroid

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 shell python”

  • adb-shellImplements ADB (Android Debug Bridge) shell and FileSync protocol in…
  • adbutilsadbutils is a Python library that communicates with Android devices…
  • pure-python-adbPure-Python ADB client that communicates with an ADB server to…

Give your agent the search over MCP, or paste the wish link into any chat.

More Networking packages

h11 With conditions
PyPI · WWW/HTTP · released Apr 2025

h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.

MITpure Python · 3.8+aging
894.9Mdownloads / mo
psutil Worth it
PyPI · Libraries · released Jan 2026

psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.

permissive licensecompiled wheel · 3.6+
387.6Mdownloads / mo
pyOpenSSL With conditions
PyPI · Python Modules · released Aug 2026

pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.

Apache-2.0pure Python · 3.9+
294.2Mdownloads / mo
uvloop With conditions
PyPI · Networking · released Oct 2025

uvloop is a drop-in replacement for Python's built-in asyncio event loop, implemented in Cython and using libuv, that accelerates async I/O operations.

Apache-2.0compiled wheel · 3.8.1+
257.9Mdownloads / mo
execnet With conditions
PyPI · Libraries · released Nov 2025

execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.

However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…

MITpure Python · 3.8+aging
172.1Mdownloads / mo
pyzmq Worth it
PyPI · Networking · released Sep 2025

PyZMQ provides Python bindings for ZeroMQ (ØMQ), a lightweight messaging library that enables fast, asynchronous communication between distributed processes and applications.

BSD-3-Clausecompiled wheel · 3.8+
109.5Mdownloads / mo

See also adbutils · pure-python-adb · androidtvremote2 · uiautomator2 · uiautomator · brainstem · binho-host-adapter · alibabacloud-adb20211201 · pyftdi · aiousbwatcher