postlund/pyatv
A client library for Apple TV and AirPlay devices observed · 2026-08-28
Health v2 · maintenance only
86/100
- Activity 97
- Release rhythm 65
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 171.0
- age_days: 3500
- days_rel: 75
- days_push: 19
- n_releases_24m: 5
Adoption not part of the score
1168 stars · 141 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
pyatv is an asyncio-based Python client library for interacting with Apple TV and AirPlay devices, supporting remote control, metadata retrieval, app launching, and audio streaming. It also ships with CLI tools like atvremote and atvscript for device control and scripting without writing code.
Use cases
- control an Apple TV from a Python script
- stream audio to AirPlay speakers like HomePod
- get currently playing metadata from an Apple TV
- integrate Apple TV control into Home Assistant
- discover Apple TV devices on the local network
- launch apps on an Apple TV programmatically
- script Apple TV commands with JSON output
When to choose
- you need programmatic control of Apple TVs or AirPlay devices from Python
- you are building home automation integrations with Apple media devices
- you want CLI tools to control or script Apple TV interactions
- you need to support all Apple TV generations including tvOS 15+
When to avoid
- you need to control Chromecast, Roku, or non-Apple streaming devices
- you need full video streaming to AirPlay, which has only basic support
- you want a ready-made GUI remote app rather than a library
- your project is not Python-based and you cannot call CLI tools
Facets
library · maturity active
sdk cli audio-processing developer-tools developer-tools media self-hosted python windows cross-platform cli apple-tv airplay raop asyncio home-automation media-streaming zeroconf remote-control automation macos linux
10 sources
- readme: https://github.com/postlund/pyatv · fetched 2026-08-28 · 8b81328cd6e4
- homepage: https://pyatv.dev · fetched 2026-08-29 · 4a8f44680862
- site_page: https://pyatv.dev/documentation/atvscript · fetched 2026-08-29 · 13140da8a42d
- site_page: https://pyatv.dev/documentation · fetched 2026-08-29 · 490960158a9a
- site_page: https://pyatv.dev/documentation/supported_features · fetched 2026-08-29 · ab3d02ac1944
- site_page: https://pyatv.dev/documentation/atvremote · fetched 2026-08-29 · a3504d02ce7b
- site_page: https://pyatv.dev/documentation/atvproxy · fetched 2026-08-29 · 7808a75c7c3f
- site_page: https://pyatv.dev/documentation/atvlog · fetched 2026-08-29 · 96a7215d9567
- site_page: https://pyatv.dev/documentation/getting-started · fetched 2026-08-29 · 373ed7351ef2
- site_page: https://pyatv.dev/documentation/tutorial · fetched 2026-08-29 · b77a765a2165
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| postlund/pyatv | main | 86 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem