API¶
This page contains documentation for all public APIs in pyatv.
NOTE: Currently, the content on this page is far from complete. It will be updated as time goes. Feel free to help out.
Module contents¶
Library for controlling an Apple TV.
Submodules¶
pyatv.const module¶
Constants used in the public API.
-
pyatv.const.
MEDIA_TYPE_MUSIC
= 3¶ Media type is music
-
pyatv.const.
MEDIA_TYPE_TV
= 4¶ Media type is TV
-
pyatv.const.
MEDIA_TYPE_UNKNOWN
= 1¶ Media type is unknown
-
pyatv.const.
MEDIA_TYPE_VIDEO
= 2¶ Media type is video
-
pyatv.const.
PLAY_STATE_FAST_BACKWARD
= 6¶ Media is being rewinded
-
pyatv.const.
PLAY_STATE_FAST_FORWARD
= 5¶ Media is being fast forwarded
-
pyatv.const.
PLAY_STATE_IDLE
= 0¶ Device is in idle state
-
pyatv.const.
PLAY_STATE_LOADING
= 2¶ Media is loading/buffering
-
pyatv.const.
PLAY_STATE_NO_MEDIA
= 1¶ No media is currently select/playing
-
pyatv.const.
PLAY_STATE_PAUSED
= 3¶ Media is paused
-
pyatv.const.
PLAY_STATE_PLAYING
= 4¶ Media is playing
-
pyatv.const.
PROTOCOL_AIRPLAY
= 3¶ Protocol is AirPlay
-
pyatv.const.
PROTOCOL_DMAP
= 1¶ Protocol is DMAP (Apple TV 1, 2 and 3)
-
pyatv.const.
PROTOCOL_MRP
= 2¶ Protocol is MediaRemote (Apple TV 4 and later)
-
pyatv.const.
REPEAT_STATE_ALL
= 2¶ Repeat all tracks
-
pyatv.const.
REPEAT_STATE_OFF
= 0¶ No repeat
-
pyatv.const.
REPEAT_STATE_TRACK
= 1¶ Repeat current track
pyatv.exceptions module¶
Local exceptions used by library.
-
exception
pyatv.exceptions.
AsyncUpdaterRunningError
[source]¶ Bases:
Exception
Thrown when performing an invalid action in AsyncUpdater..
-
exception
pyatv.exceptions.
DeviceAuthenticationError
[source]¶ Bases:
Exception
Thrown when device authentication fails.
-
exception
pyatv.exceptions.
InvalidDmapDataError
[source]¶ Bases:
Exception
Thrown when invalid DMAP data is parsed.
-
exception
pyatv.exceptions.
NoAsyncListenerError
[source]¶ Bases:
Exception
Thrown when starting AsyncUpdater with no listener.
-
exception
pyatv.exceptions.
NoCredentialsError
[source]¶ Bases:
Exception
Thrown if performing an action before initialize is called.
-
exception
pyatv.exceptions.
NoUsableServiceError
[source]¶ Bases:
Exception
Thrown when connecting to a device with no usable service.
-
exception
pyatv.exceptions.
NotSupportedError
[source]¶ Bases:
NotImplementedError
Thrown when trying to perform an action that is not supported.
-
exception
pyatv.exceptions.
UnknownMediaKind
[source]¶ Bases:
Exception
Thrown when an unknown media kind is found.
pyatv.helpers module¶
Various helper methods.
-
pyatv.helpers.
auto_connect
(handler, timeout=5, not_found=None)[source]¶ Short method for connecting to a device.
This is a convenience method that create an event loop, auto discovers devices, picks the first device found, connects to it and passes it to a user provided handler. An optional error handler can be provided that is called when no device was found. Very inflexible in many cases, but can be handys sometimes when trying things.
Note: both handler and not_found must be coroutines
pyatv.interface module¶
API exposed by the library.
-
class
pyatv.interface.
AirPlay
[source]¶ Bases:
object
Base class for AirPlay functionality.
-
class
pyatv.interface.
AppleTV
[source]¶ Bases:
object
Base class representing an Apple TV.
-
abstract property
airplay
¶ Return API for working with AirPlay.
-
abstract
login
()[source]¶ Perform an explicit login.
Not needed as login is performed automatically.
-
abstract
logout
()[source]¶ Perform an explicit logout.
Must be done when session is no longer needed to not leak resources.
-
abstract property
metadata
¶ Return API for retrieving metadata from the Apple TV.
-
abstract property
pairing
¶ Return API for pairing with the Apple TV.
-
abstract property
push_updater
¶ Return API for handling push update from the Apple TV.
-
abstract property
remote_control
¶ Return API for controlling the Apple TV.
-
abstract property
service
¶ Return service used to connect to the Apple TV..
-
abstract property
-
class
pyatv.interface.
Metadata
[source]¶ Bases:
object
Base class for retrieving metadata from an Apple TV.
-
abstract property
device_id
¶ Return a unique identifier for current device.
-
abstract property
-
class
pyatv.interface.
PairingHandler
[source]¶ Bases:
object
Base class for API used to pair with an Apple TV.
-
abstract property
credentials
¶ Credentials that were generated during pairing.
-
abstract property
device_provides_pin
¶ Return True if remote device presents PIN code, else False.
-
abstract property
has_paired
¶ If a successful pairing has been performed.
The value will be reset when stop() is called.
-
abstract property
-
class
pyatv.interface.
Playing
[source]¶ Bases:
object
Base class for retrieving what is currently playing.
-
abstract property
album
¶ Album of the currently playing song.
-
abstract property
artist
¶ Artist of the currently playing song.
-
abstract property
genre
¶ Genre of the currently playing song.
-
property
hash
¶ Create a unique hash for what is currently playing.
The hash is based on title, artist, album and total time. It should always be the same for the same content, but it is not guaranteed.
-
abstract property
media_type
¶ Type of media is currently playing, e.g. video, music.
-
abstract property
play_state
¶ Play state, e.g. playing or paused.
-
abstract property
position
¶ Position in the playing media (seconds).
-
abstract property
repeat
¶ Repeat mode.
-
abstract property
shuffle
¶ If shuffle is enabled or not.
-
abstract property
title
¶ Title of the current media, e.g. movie or song name.
-
abstract property
total_time
¶ Total play time in seconds.
-
abstract property
-
class
pyatv.interface.
PushUpdater
[source]¶ Bases:
object
Base class for push/async updates from an Apple TV.
-
property
listener
¶ Object (PushUpdaterListener) that receives updates.
-
property