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.

Filename, size & hash SHA256 hash help File type Python version Upload date
xbmc_json-0.3.2-py3-none-any.whl (3.7 kB) Copy SHA256 hash SHA256 Wheel 3.5
xbmc-json-0.3.2.tar.gz (5.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page