Metadata-Version: 2.4
Name: apexos-philipsjs
Version: 3.2.4
Summary: jointSPACE API client for Philips TVs
Author-email: Daniel Perna <danielperna84@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/apexinfosysindia/philipsjs
Keywords: jointSPACE
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography
Requires-Dist: httpx>=0.22.0
Provides-Extra: tests
Requires-Dist: pytest>3.6.4; extra == "tests"
Requires-Dist: pytest-cov<2.6; extra == "tests"
Requires-Dist: pytest-asyncio>=0.20.2; extra == "tests"
Requires-Dist: coveralls; extra == "tests"
Requires-Dist: pytest-mock; extra == "tests"
Requires-Dist: respx>=0.17.0; extra == "tests"
Dynamic: license-file

# apexphilipsjs

Wrapper library for Philips TVs speaking the jointSPACE API. Used by the
ApexOS `philips_js` integration.

Maintained by Apex Infosys as a clean fork of an upstream community library
(same version, MIT license preserved). The jointSPACE HTTP API usage is
unchanged.

* Supports version 1 and 6 of the jointSPACE API
* Supports the pairing process
* Python typing information on endpoints
* NotifyChange support for supported TVs

Print system data
```python
from apexphilipsjs import PhilipsTV

tv = PhilipsTV("tv2.example.com", 6)
tv.getSystem()
print(tv.system)
```

Pairing with TV
```python
from apexphilipsjs import PhilipsTV

tv = PhilipsTV("tv2.example.com", 6)
tv.getSystem()

state = tv.pairRequest("my_test_app", "My Test App", "mox", "OSX", "native")

pin = input("Enter pin:")

username, password = tv.pairGrant(state, pin)

print(username)
print(password)
```

Command line utility:
```
usage: python -m apexphilipsjs [-h] [-d] -i HOST -a API [-u USERNAME] [-p PASSWORD] {status,monitor,ambilight,pair} ...
```
