pyatv


Namepyatv JSON
Version 0.14.4 PyPI version JSON
download
home_pagehttps://pyatv.dev
SummaryA client library for Apple TV and AirPlay devices
upload_time2023-10-27 18:02:01
maintainer
docs_urlNone
authorPierre Ståhl
requires_python>=3.8.1
licenseMIT
keywords apple tv airplay raop companion dmap dacp
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            A client library for Apple TV and AirPlay devices
=================================================

<img src="https://raw.githubusercontent.com/postlund/pyatv/master/docs/assets/img/logo.svg?raw=true" width="150">

![Tests](https://github.com/postlund/pyatv/workflows/Tests/badge.svg)
![pyatv Actions](https://api.meercode.io/badge/postlund/pyatv?type=ci-success-rate&branch=master&lastDay=30)
[![codecov](https://codecov.io/gh/postlund/pyatv/branch/master/graph/badge.svg)](https://codecov.io/gh/postlund/pyatv)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![PyPi Package](https://badge.fury.io/py/pyatv.svg)](https://badge.fury.io/py/pyatv)
[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/postlund/pyatv)
[![Downloads](https://static.pepy.tech/badge/pyatv)](https://pepy.tech/project/pyatv)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/pyatv.svg)](https://pypi.python.org/pypi/pyatv/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

This is an asyncio python library for interacting with Apple TV and AirPlay devices. It mainly
targets Apple TVs (all generations, **including tvOS 15 and later**), but also supports 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](https://pyatv.dev)**.

# What can it do?

Some examples include:

* Remote control commands
* Metadata retrieval with push updates
* Stream files via AirPlay
* List and launch installed apps
* List and switch user accounts
* Add, remove or set audio output devices (e.g. HomePods)
* Keyboard support
* Persistent storage of credentials and settings

...and lots more! A complete list is available [here](https://pyatv.dev/documentation/supported_features/).

# Great, but how do I use it?

All documentation (especially for developers) are available at [pyatv.dev](https://pyatv.dev).
It is however possible to install with `pip` and set up a new device `atvremote`:

```raw
$ pip install pyatv
$ atvremote wizard
Looking for devices...
Found the following devices:
    Name                      Model                    Address
--  ------------------------  -----------------------  -----------
 1  Receiver+                 airupnp                  10.0.10.200
 2  Receiver                  RX-V773                  10.0.10.82
 3  Pierre's AirPort Express  AirPort Express (gen 2)  10.0.10.168
 4  FakeATV                   Unknown                  10.0.10.254
 5  Vardagsrum                Apple TV 4K              10.0.10.81
 6  Apple TV                  Apple TV 3               10.0.10.83
Enter index of device to set up (q to quit): 4
Starting to set up FakeATV
Starting to pair Protocol.MRP
Enter PIN on screen: 1111
Successfully paired Protocol.MRP, moving on...
Pairing finished, trying to connect and get some metadata...
Currently playing:
  Media type: Music
Device state: Playing
       Title: Never Gonna Give You Up
      Artist: Rick Astley
    Position: 1/213s (0.0%)
      Repeat: Off
     Shuffle: Off
Device is now set up!
```

After setting up a new device, other commands can be run directly:

```raw
$ atvremote -s 10.0.10.254 playing
  Media type: Music
Device state: Playing
       Title: Never Gonna Give You Up
      Artist: Rick Astley
    Position: 1/213s (0.0%)
      Repeat: Off
     Shuffle: Off
$ atvremote -s 10.0.10.254 pause
$ atvremote -n FakeATV play
```

You can also run it inside a container (x86_64, aarch64, armv7):

```raw
docker run -it --rm --network=host ghcr.io/postlund/pyatv:0.14.0 atvremote scan
```

The `master` tag points to latest commit on the `master` branch and can `latest`
points to the latest release.

# I need to change something?

Want to help out with `pyatv`? Press the button below to get a fully prepared development environment and get started right away!

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/postlund/pyatv)

# Shortcuts to the good stuff

To save you some time, here are some shortcuts:

* [Getting started](https://pyatv.dev/documentation/getting-started/)
* [Documentation](https://pyatv.dev/documentation)
* [Development](https://pyatv.dev/development)
* [API Reference](https://pyatv.dev/api)
* [Support](https://pyatv.dev/support)

            

Raw data

            {
    "_id": null,
    "home_page": "https://pyatv.dev",
    "name": "pyatv",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8.1",
    "maintainer_email": "",
    "keywords": "apple,tv,airplay,raop,companion,dmap,dacp",
    "author": "Pierre St\u00e5hl",
    "author_email": "pierre.staahl@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/3d/95/583485cbf5cf44ece600a48775bad1cb8c873b457640c70097fd27a2cf1e/pyatv-0.14.4.tar.gz",
    "platform": "any",
    "description": "A client library for Apple TV and AirPlay devices\n=================================================\n\n<img src=\"https://raw.githubusercontent.com/postlund/pyatv/master/docs/assets/img/logo.svg?raw=true\" width=\"150\">\n\n![Tests](https://github.com/postlund/pyatv/workflows/Tests/badge.svg)\n![pyatv Actions](https://api.meercode.io/badge/postlund/pyatv?type=ci-success-rate&branch=master&lastDay=30)\n[![codecov](https://codecov.io/gh/postlund/pyatv/branch/master/graph/badge.svg)](https://codecov.io/gh/postlund/pyatv)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![PyPi Package](https://badge.fury.io/py/pyatv.svg)](https://badge.fury.io/py/pyatv)\n[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/postlund/pyatv)\n[![Downloads](https://static.pepy.tech/badge/pyatv)](https://pepy.tech/project/pyatv)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/pyatv.svg)](https://pypi.python.org/pypi/pyatv/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nThis is an asyncio python library for interacting with Apple TV and AirPlay devices. It mainly\ntargets Apple TVs (all generations, **including tvOS 15 and later**), but also supports audio streaming via AirPlay\nto receivers like the HomePod, AirPort Express and third-party speakers. It can act as remote control to the Music\napp/iTunes in macOS.\n\nAll the documentation you need is available at **[pyatv.dev](https://pyatv.dev)**.\n\n# What can it do?\n\nSome examples include:\n\n* Remote control commands\n* Metadata retrieval with push updates\n* Stream files via AirPlay\n* List and launch installed apps\n* List and switch user accounts\n* Add, remove or set audio output devices (e.g. HomePods)\n* Keyboard support\n* Persistent storage of credentials and settings\n\n...and lots more! A complete list is available [here](https://pyatv.dev/documentation/supported_features/).\n\n# Great, but how do I use it?\n\nAll documentation (especially for developers) are available at [pyatv.dev](https://pyatv.dev).\nIt is however possible to install with `pip` and set up a new device `atvremote`:\n\n```raw\n$ pip install pyatv\n$ atvremote wizard\nLooking for devices...\nFound the following devices:\n    Name                      Model                    Address\n--  ------------------------  -----------------------  -----------\n 1  Receiver+                 airupnp                  10.0.10.200\n 2  Receiver                  RX-V773                  10.0.10.82\n 3  Pierre's AirPort Express  AirPort Express (gen 2)  10.0.10.168\n 4  FakeATV                   Unknown                  10.0.10.254\n 5  Vardagsrum                Apple TV 4K              10.0.10.81\n 6  Apple TV                  Apple TV 3               10.0.10.83\nEnter index of device to set up (q to quit): 4\nStarting to set up FakeATV\nStarting to pair Protocol.MRP\nEnter PIN on screen: 1111\nSuccessfully paired Protocol.MRP, moving on...\nPairing finished, trying to connect and get some metadata...\nCurrently playing:\n  Media type: Music\nDevice state: Playing\n       Title: Never Gonna Give You Up\n      Artist: Rick Astley\n    Position: 1/213s (0.0%)\n      Repeat: Off\n     Shuffle: Off\nDevice is now set up!\n```\n\nAfter setting up a new device, other commands can be run directly:\n\n```raw\n$ atvremote -s 10.0.10.254 playing\n  Media type: Music\nDevice state: Playing\n       Title: Never Gonna Give You Up\n      Artist: Rick Astley\n    Position: 1/213s (0.0%)\n      Repeat: Off\n     Shuffle: Off\n$ atvremote -s 10.0.10.254 pause\n$ atvremote -n FakeATV play\n```\n\nYou can also run it inside a container (x86_64, aarch64, armv7):\n\n```raw\ndocker run -it --rm --network=host ghcr.io/postlund/pyatv:0.14.0 atvremote scan\n```\n\nThe `master` tag points to latest commit on the `master` branch and can `latest`\npoints to the latest release.\n\n# I need to change something?\n\nWant to help out with `pyatv`? Press the button below to get a fully prepared development environment and get started right away!\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/postlund/pyatv)\n\n# Shortcuts to the good stuff\n\nTo save you some time, here are some shortcuts:\n\n* [Getting started](https://pyatv.dev/documentation/getting-started/)\n* [Documentation](https://pyatv.dev/documentation)\n* [Development](https://pyatv.dev/development)\n* [API Reference](https://pyatv.dev/api)\n* [Support](https://pyatv.dev/support)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A client library for Apple TV and AirPlay devices",
    "version": "0.14.4",
    "project_urls": {
        "Bug Reports": "https://github.com/postlund/pyatv/issues",
        "Download": "https://github.com/postlund/pyatv/archive/refs/tags/v0.14.4.zip",
        "Homepage": "https://pyatv.dev",
        "Repository": "https://github.com/postlund/pyatv"
    },
    "split_keywords": [
        "apple",
        "tv",
        "airplay",
        "raop",
        "companion",
        "dmap",
        "dacp"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b835b488baf9997635ba7ed2a48fe6b5117b3317554e15df9ae6e432e2a55184",
                "md5": "8917c69e78c16d7d73248c6b7c1f91ad",
                "sha256": "7d16797af3c1def0c8a87d03f55d40db83b6d8dcb856edc09a1ab027188cc0da"
            },
            "downloads": -1,
            "filename": "pyatv-0.14.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8917c69e78c16d7d73248c6b7c1f91ad",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8.1",
            "size": 452556,
            "upload_time": "2023-10-27T18:01:59",
            "upload_time_iso_8601": "2023-10-27T18:01:59.240433Z",
            "url": "https://files.pythonhosted.org/packages/b8/35/b488baf9997635ba7ed2a48fe6b5117b3317554e15df9ae6e432e2a55184/pyatv-0.14.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3d95583485cbf5cf44ece600a48775bad1cb8c873b457640c70097fd27a2cf1e",
                "md5": "0fd12753be434846c7e22050567705a3",
                "sha256": "903b14f6afc264ca309fa48ec0235ae5f6f8ef2b00c84411ae5f9da63beb5de6"
            },
            "downloads": -1,
            "filename": "pyatv-0.14.4.tar.gz",
            "has_sig": false,
            "md5_digest": "0fd12753be434846c7e22050567705a3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8.1",
            "size": 1678431,
            "upload_time": "2023-10-27T18:02:01",
            "upload_time_iso_8601": "2023-10-27T18:02:01.865518Z",
            "url": "https://files.pythonhosted.org/packages/3d/95/583485cbf5cf44ece600a48775bad1cb8c873b457640c70097fd27a2cf1e/pyatv-0.14.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-27 18:02:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "postlund",
    "github_project": "pyatv",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "pyatv"
}
        
Elapsed time: 0.12903s