Python library to communicate with ADB devices. Built on top of Rust adb_client library.
pip install pyadb_clientfrom pyadb_client import PyADBServer
server = PyADBServer("127.0.0.1:5037")
for i, device in enumerate(server.devices()):
print(i, device.identifier, device.state)
# Get only connected device
device = server.get_device()
print(device, device.identifier)from pyadb_client import PyADBServer
server = PyADBServer("127.0.0.1:5037")
# Connect to a device with device id
device = server.connect_device("192.168.1.100:5555")
print(f"Connected to {device.identifier}")
# Disconnect from a device with device id
server.disconnect_device("192.168.1.100:5555")from pyadb_client import PyADBUSBDevice
usb_device = PyADBUSBDevice.autodetect()
usb_device.push("file.txt", "/data/local/tmp/file.txt")# Create Python virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install needed build dependencies
pip install maturin
# Build development package
maturin develop
# Build stub file (.pyi)
cargo run --bin stub_gen
# Build release Python package
maturin build --release -m pyadb_client/Cargo.toml