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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file xbmc-json-0.3.2.tar.gz.

File metadata

  • Download URL: xbmc-json-0.3.2.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for xbmc-json-0.3.2.tar.gz
Algorithm Hash digest
SHA256 12cd9db3a6fb9e50a6b5b133e99641740f7eba6ee1d9c9e20717037981eb6a7e
MD5 e086afe9886e041e22c263f080bf9fe6
BLAKE2b-256 dec27948e32f442a64048f601531acc88094d3e4602d9e0c84880412588ec6d5

See more details on using hashes here.

File details

Details for the file xbmc_json-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for xbmc_json-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 53ea2832ebe27957e5b620ea3dd171495d77b24e046c2fd25496b1cef3140420
MD5 842c8a309d0596a5dcc97992a4a5d63d
BLAKE2b-256 7a37445961135d40eaa0a6be7df641aff06762e59f08ceda40426a7874ea5063

See more details on using hashes here.

Supported by

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