Metadata-Version: 2.4
Name: braviaproapi
Version: 1.0.1
Summary: Library for controlling Sony Bravia TVs utilizing their Bravia Professional API.
Home-page: https://github.com/BrandonDusseau/braviaproapi
Author: Brandon Dusseau
Author-email: brandon.dusseau+pypi@gmail.com
Keywords: sony bravia television remote control library
Classifier: Programming Language :: Python :: 3.10
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests<3,>=2.33
Requires-Dist: python-dateutil<3,>=2.9
Requires-Dist: pycryptodome<4,>=3.23
Requires-Dist: packaging
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license-file
Dynamic: requires-dist
Dynamic: summary

# braviaproapi

[![Documentation Status](https://readthedocs.org/projects/braviaproapi/badge/?version=latest)](https://braviaproapi.readthedocs.io/en/latest/?badge=latest)
![Build Status](https://github.com/BrandonDusseau/braviaproapi/actions/workflows/build.yml/badge.svg)

This library provides an easy-to-use Python interface for controlling Sony Bravia televisions. It implements the
BRAVIA Professional Display API, which is present on recent consumer hardware. For more information, take a look at
[Sony's API documentation](https://pro-bravia.sony.net/develop/integrate/ip-control/).

It supports the following features:

  * Control and launch applications, including text entry into form fields.
  * Configuration of display and audio options
  * Control over various system functions (sleep/wake, LED configuration, power saving, etc.)
  * Direct control of external inputs and media sources
  * Emulated remote control input via IRCC commands

## Compatibility

This library is intended for use on newer, Android-based televisions. A list of devices and software versions known to be compatible is available on [the GitHub wiki](https://github.com/BrandonDusseau/braviaproapi/wiki/Compatible-Device-List).

It has come to my attention that some newer Bravia models have received software updates bumping their API version to higher than 3.x. These devices are not supported by braviaproapi at this time as I do not have a compatible device to test with. Contributions to the library (and the above linked wiki page) are encouraged if you have a supported device!

If your device is not compatible, braviaproapi will raise the following exception on first connection:

    braviaproapi.bravia.errors.apierror.ApiError: The target device is running an incompatible API version 'X.Y.Z'

## Requirements

This library supports Python 3.10 and higher. You can install it with `pip install braviaproapi`.


## Documentation / Getting Started

You can view the documentation for this project at [Read The Docs](https://braviaproapi.readthedocs.io/).


## Generating Documentation Locally

Generating the documentation for this project requires
[Sphinx](http://www.sphinx-doc.org/en/master/usage/installation.html). Installing from pip is recommended.

Once Sphinx is installed, run these commands to generate documentation (requires GNU make):

```bash
cd docs
make html
```


## Contributing

See an issue? Have something to add? Issues and pull requests are accepted in this repository.


## License

This project is released under the MIT License. Refer to the LICENSE file for details.
