This is an asyncio python library for interacting with Apple TV and AirPlay devices. It mainly targets Apple TVs (all generations), but also support audio streaming via AirPlay to receivers like the HomePod, AirPort Express and third-party speakers. It can act as remote control to the Music app/iTunes in macOS.
All the documentation you need is available at pyatv.dev.
Some examples include:
...and lots more! A complete list is available here.
All documentation (especially for developers) are available at pyatv.dev.
It is however possible to install with
pip and try things out with
$ pip install pyatv $ atvremote scan Name: Office Model/SW: HomePodMini tvOS 14.7 Address: 10.0.10.84 MAC: AA:BB:CC:DD:EE:FF Deep Sleep: False Identifiers: - AA:BB:CC:DD:EE:FF - AABBCCDDEEFF Services: - Protocol: AirPlay, Port: 7000, Credentials: None - Protocol: Companion, Port: 49152, Credentials: None - Protocol: RAOP, Port: 7000, Credentials: None, Password: None
Or run in a container (x86_64, aarch64, armv7):
docker run -it --rm --network=host ghcr.io/postlund/pyatv:master atvremote scan
master tag points to latest commit on the
master branch and can
be changed to a specific version, e.g.
Want to help out with
pyatv? Press the button below to get a fully prepared development environment and get started right away!
To save you some time, here are some shortcuts: