Skip to main content

Python module for controlling xbmc over HTTP Json API

Project description

[![Python Versions](https://img.shields.io/pypi/pyversions/xbmc-json.svg?maxAge=2592000)](https://pypi.python.org/pypi/xbmc-json/)
[![Wheel status](https://img.shields.io/pypi/wheel/xbmc-json.svg?maxAge=2592000)](https://pypi.python.org/pypi/xbmc-json/)
[![Licence](https://img.shields.io/pypi/l/xbmc-json.svg?maxAge=2592000)](https://pypi.python.org/pypi/xbmc-json/)
[![Travis](https://img.shields.io/travis/jcsaaddupuy/python-xbmc.svg?maxAge=2592000)](https://pypi.python.org/pypi/xbmc-json/)
[![codecov](https://codecov.io/gh/jcsaaddupuy/python-xbmc/branch/master/graph/badge.svg)](https://codecov.io/gh/jcsaaddupuy/python-xbmc)



python xbmc json client
=======================

Simple python module that allow xbmc control over HTTP Json API.
Virtually support all availables commands.

Install it :
```bash
pip install xbmc-json
```


Usages examples :

Client instanciation
```python
from xbmcjson import XBMC, PLAYER_VIDEO
#Login with default xbmc/xbmc credentials
xbmc = XBMC("http://YOURHOST/jsonrpc")

#Login with custom credentials
xbmc = XBMC("http://YOURHOST/jsonrpc", "login", "password")
```
Ping XBMC
```python
print xbmc.JSONRPC.Ping()
```

UI interaction :
```python
# Navigate throught windows
xbmc.GUI.ActivateWindow({"window":"home"})
xbmc.GUI.ActivateWindow({"window":"weather"})

# Show some notifiations :
xbmc.GUI.ShowNotification({"title":"Title", "message":"Hello notif"})

# ...and so on
```

Parameters can alos be passed as python parameters:
```python
xbmc.GUI.ActivateWindow(window="home")
xbmc.GUI.ActivateWindow(window="weather")
xbmc.GUI.ShowNotification(title="Title", message = "Hello notif")
```


Library interaction :
```python
xbmc.VideoLibrary.Scan()
xbmc.VideoLibrary.Clean()
# ...and so on
```

Everything to build a script thats act as a full remote
```python
xbmc.Application.SetMute({"mute":True})
xbmc.Player.PlayPause([PLAYER_VIDEO])
xbmc.Player.Stop([PLAYER_VIDEO])
xbmc.Input.Left()
xbmc.Input.Right()
xbmc.Input.Up()
xbmc.Input.Down()
xbmc.Input.Back()
xbmc.Input.Down()
xbmc.Input.Info()
# ...and so on
```


See http://wiki.xbmc.org/index.php?title=JSON-RPC_API/v6 for availables commands.


Every XBMC namespaces are accessible from the instanciated xbmc client.

Every commands presents in the [API documentation](http://wiki.xbmc.org/index.php?title=JSON-RPC_API/v6) should be available.


You can take a look at [xbmc-client](https://github.com/jcsaaddupuy/xbmc-client) for an implementation example.


Contribute
-----------

Please make your PR on the branch develop :)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xbmc-json-0.3.2.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

xbmc_json-0.3.2-py3-none-any.whl (3.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page