Catalog PyPI
PACKAGE EXPLORERView in registry

adbtvremote

PyPI

Minimal Android TV remote over ADB (WiFi), works on PC and Pydroid

adbandroid-tvpydroidremotewifi
Versions collected1
Direct dependencies2From release 0.1.3
Last observed20 Oct, 19:13 UTC

README

Version 0.1.3 documentation

Android TV Remote 📺

A lightweight Python remote control for Android TV using ADB over network.
Works on desktop and mobile (Pydroid3).

Python Platform ADB PyPI

screenshot

✨ Features

  • 📡 ADB over WiFi (no USB required)
  • 🎮 Full D-Pad control (navigation + OK)
  • 🔊 Volume & Power controls
  • 🏠 System buttons (Home, Back, Menu)
  • ⌨️ Send text input to the device
  • 🧵 Async ADB calls (non-blocking UI)
  • 📱 Responsive UI (auto scaling)
  • ⌨️ Keyboard shortcuts support
  • 📝 Logging system (remote.log)

📦 Requirements

  • Python 3.8+
  • ADB installed and accessible in PATH (PC only)

⚡ Quick Start

pipx install adbtvremote
adbtvremote

Why pipx? Keeps the app isolated in its own virtual environment, avoiding dependency conflicts with other Python projects.

Option 2: Install with pip

pip install adbtvremote
adbtvremote

Option 3: Run from source

git clone https://github.com/DanVerseDev/android-tv-remote.git
cd android-tv-remote
pip install -r requirements.txt
python main.py

Pydroid3 (Android)

Note: On Pydroid3, this app uses a pure Python ADB implementation (adb-shell), so no ADB binary is required.

  1. Install the package via pip in Pydroid3:
pip install adbtvremote
  1. Create a new Python script (e.g., run.py) with the following content:
from adbtvremote.app import main
import tkinter
main()
  1. Run the script in Pydroid3.

Note: Make sure customtkinter is installed and the ADB binary is available on your Android device (manual setup may be required).

⚙️ Setup (ADB over Network)

  1. Enable developer options on your Android TV

  2. Enable:

    • USB debugging
    • Wireless debugging (if available)
  3. Connect once via USB (optional but recommended):

adb tcpip 5555
  1. Get device IP and connect:
adb connect 192.168.x.x:5555

🚀 Usage

After installation, simply run:

adbtvremote

Or if running from source:

python main.py

Connect

  • Enter IP: 192.168.x.x:####
  • Click Connect

Controls

  • UI buttons for navigation and system actions
  • Keyboard:
    • Arrow keys → Navigation
    • Enter → OK
    • Backspace → Back
    • Escape → Home

Send Text

  • Click Send Text
  • Input text and send directly to device

🧠 How it works

  • Uses adb shell input keyevent for buttons
  • Uses adb shell input text for text input
  • Runs ADB commands in background threads
  • Logs all activity for debugging to remote.log

📁 Project Structure

.
├── main.py
├── remote.log (generated)
└── README.md

🔁 Smart Backend

The app automatically selects the best ADB method:

  • 💻 PC → Uses system adb binary (fast, full compatibility)
  • 📱 Pydroid3 → Uses pure Python adb-shell (no ADB required)

No configuration needed.

⚠️ Notes

  • Device and host must be on the same network
  • Some TVs may require pairing for wireless ADB
  • Text input replaces spaces with %s (ADB limitation)

🐞 Logging

All ADB calls and errors are logged in remote.log

📄 License

MIT License - Copyright (c) 2026 Daniel Martí


Built with ❤️ by Daniel Martí aka DanVerse

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.330 Apr 20262

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

ACCESSIBLE
danversedev/adbtvremote

Shared repository data · GitHub

License detected in repository
MIT
License branch / ref
main
Last push
30 Apr 2026
Archived
No
Contributor identities
— · partial collection

Public sponsor counts have not been collected. These signals belong to the repository owner.

Downloads & popularity

0count
Gauge · observed snapshots21 Oct 2026
10.50
2026-10-21: 0 · observed 2026-10-21T23:00:51.4806706Z
21 Oct21 Oct

github · 1 observations shown. Missing days are unknown.

View observed values
Date / source periodValueObserved at
2026-10-2102026-10-21T23:00:51.4806706Z

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:13 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:1acdca61d3f97fc6ee0867387c5980ada920d897e82ca521dab8f34fb09ef4ef