# pyadb_client
<p align="center">
<p align="center">Python library to communicate with ADB devices. Built on top of Rust adb_client library.</p>
<p align="center">
<a href="https://pypi.org/project/pyadb_client">
<img alt="pypi.org" src="https://img.shields.io/pypi/v/pyadb_client.svg" />
</a>
<a href="https://pypi.org/project/pyadb_client">
<img alt="downloads" src="https://static.pepy.tech/badge/pyadb_client" />
</a>
</p>
</p>
## Installation
```bash
pip install pyadb_client
```
## Examples
### Use ADB server
```python
from 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)
```
### Push a file on device
```python
from pyadb_client import PyADBUSBDevice
usb_device = PyADBUSBDevice.autodetect()
usb_device.push("file.txt", "/data/local/tmp/file.txt")
```
## Local development
```bash
# 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
```
Raw data
{
"_id": null,
"home_page": "https://github.com/cocool97/adb_client",
"name": "pyadb-client",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "adb, android, tcp, usb",
"author": "Corentin LIAUD",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/68/5c/60a296d8e9bb96e44e97e55a64c53adb4b567c9a1168b5727d70c6ae3aba/pyadb_client-2.1.16.tar.gz",
"platform": null,
"description": "# pyadb_client\n\n<p align=\"center\">\n <p align=\"center\">Python library to communicate with ADB devices. Built on top of Rust adb_client library.</p>\n <p align=\"center\">\n <a href=\"https://pypi.org/project/pyadb_client\">\n <img alt=\"pypi.org\" src=\"https://img.shields.io/pypi/v/pyadb_client.svg\" />\n </a>\n <a href=\"https://pypi.org/project/pyadb_client\">\n <img alt=\"downloads\" src=\"https://static.pepy.tech/badge/pyadb_client\" />\n </a>\n </p>\n</p>\n\n## Installation\n\n```bash\npip install pyadb_client\n```\n\n## Examples\n\n### Use ADB server\n\n```python\nfrom pyadb_client import PyADBServer\n\nserver = PyADBServer(\"127.0.0.1:5037\")\nfor i, device in enumerate(server.devices()):\n print(i, device.identifier, device.state)\n\n# Get only connected device\ndevice = server.get_device()\nprint(device, device.identifier)\n```\n\n### Push a file on device\n\n```python\nfrom pyadb_client import PyADBUSBDevice\n\nusb_device = PyADBUSBDevice.autodetect()\nusb_device.push(\"file.txt\", \"/data/local/tmp/file.txt\")\n```\n\n## Local development\n\n```bash\n# Create Python virtual environment\npython3 -m venv .venv\nsource .venv/bin/activate\n\n# Install needed build dependencies\npip install maturin\n\n# Build development package\nmaturin develop\n\n# Build stub file (.pyi)\ncargo run --bin stub_gen\n\n# Build release Python package\nmaturin build --release -m pyadb_client/Cargo.toml\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python wrapper for adb_client library",
"version": "2.1.16",
"project_urls": {
"Homepage": "https://github.com/cocool97/adb_client",
"Source Code": "https://github.com/cocool97/adb_client"
},
"split_keywords": [
"adb",
" android",
" tcp",
" usb"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0ca01a226f3f599c2efddb9f44787b1f7f8655f5b2b47b74d23216e0bb2c4cde",
"md5": "e8a1d2386b6b92fea396ab814e797913",
"sha256": "7ce2f29d54c6e16ee95deaf460985fd8881ec3588e6358dc1138eef6296c7b1f"
},
"downloads": -1,
"filename": "pyadb_client-2.1.16-cp37-abi3-manylinux_2_39_x86_64.whl",
"has_sig": false,
"md5_digest": "e8a1d2386b6b92fea396ab814e797913",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 942390,
"upload_time": "2025-08-03T15:36:01",
"upload_time_iso_8601": "2025-08-03T15:36:01.211327Z",
"url": "https://files.pythonhosted.org/packages/0c/a0/1a226f3f599c2efddb9f44787b1f7f8655f5b2b47b74d23216e0bb2c4cde/pyadb_client-2.1.16-cp37-abi3-manylinux_2_39_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "685c60a296d8e9bb96e44e97e55a64c53adb4b567c9a1168b5727d70c6ae3aba",
"md5": "f1e8fb606f8aec807399937cb49fa469",
"sha256": "86918778a4e48f18e7bdece7cb4f60b3d072fc7b1f1486744dfd1b5539b3bbaf"
},
"downloads": -1,
"filename": "pyadb_client-2.1.16.tar.gz",
"has_sig": false,
"md5_digest": "f1e8fb606f8aec807399937cb49fa469",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 61799,
"upload_time": "2025-08-03T15:36:02",
"upload_time_iso_8601": "2025-08-03T15:36:02.459074Z",
"url": "https://files.pythonhosted.org/packages/68/5c/60a296d8e9bb96e44e97e55a64c53adb4b567c9a1168b5727d70c6ae3aba/pyadb_client-2.1.16.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-03 15:36:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cocool97",
"github_project": "adb_client",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyadb-client"
}