/python-kodijson

python module for full kodi control over HTTP Json API

Primary LanguagePythonDo What The F*ck You Want To Public LicenseWTFPL

Python Versions Wheel status Licence Travis codecov

python kodi json client

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

Install it :

pip install kodi-json

Usages examples :

Client instanciation

from kodijson import Kodi, PLAYER_VIDEO
#Login with default kodi/kodi credentials
kodi = Kodi("http://YOURHOST/jsonrpc")

#Login with custom credentials
kodi = Kodi("http://YOURHOST/jsonrpc", "login", "password")

Ping kodi

print kodi.JSONRPC.Ping()

UI interaction :

# Navigate throught windows
kodi.GUI.ActivateWindow({"window":"home"})
kodi.GUI.ActivateWindow({"window":"weather"})

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

# ...and so on

Parameters can alos be passed as python parameters:

kodi.GUI.ActivateWindow(window="home")
kodi.GUI.ActivateWindow(window="weather")
kodi.GUI.ShowNotification(title="Title", message = "Hello notif")

Library interaction :

kodi.VideoLibrary.Scan()
kodi.VideoLibrary.Clean()
# ...and so on

Everything to build a script thats act as a full remote

kodi.Application.SetMute({"mute":True})
kodi.Player.PlayPause([PLAYER_VIDEO])
kodi.Player.Stop([PLAYER_VIDEO])
kodi.Input.Left()
kodi.Input.Right()
kodi.Input.Up()
kodi.Input.Down()
kodi.Input.Back()
kodi.Input.Down()
kodi.Input.Info()
# ...and so on

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

Every kodi namespaces are accessible from the instanciated kodi client.

Every commands presents in the API documentation should be available.

You can take a look at xbmc-client for an implementation example.

Contribute

Please make your PR on the branch develop :)