This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description
boxeeremotelib: python interface to the boxee remote api

Python library to use the [boxee remote api]( The library includes
functionality to discover servers via boxee's UDP-based discovery as well as an interface to the actual commands. The
intention of this project is to support a web interface to the remote and any other non-traditional uses.

It is currently tested against a single boxee box and only on linux, so please share any negative results that you
experience, but it should work more widely.


A couple of scripts are provided, *boxee_discover* and *boxee_command*.

$ boxee_discover

All servers on the network should be listed. A bit more functionality can be found with *boxee_command*:

$ boxee_command back setstring:batman
$ boxee_command down select

From the main menu, the previous example should go back to the search screen, type 'batman', and select
the first result. It should be noted that the server is being auto-selected, but a specific server can be given

$ boxee_command --host= --port=8800 getvolume
In addition to the normal commands,

$ boxee_command -l

commands can be quickly repeated by adding '_n' on to the end of a command name, where 'n' is the number
of times to repeat the command. These repeat commands are available from the library as well.

$ boxee_command backspace_6 setstring:misfits


Discovery works by broadcasting an XML snippet on your local network. There are some validation mechanisms in place,
and this library attempts to follow them more closely than many other similar libaries, but any attempts by Boxee to
clean up this library seem to have fallen away. Queries are presented as the iphone remote, as boxee seems to only
respond to these.

This mechanism, particularly on my often overloaded boxee box, is somewhat unreliable. A wake up may be needed. Some
amount of reliability will likely be added in the future.

>>> from boxeeremotelib import Discoverer
>>> d = Discoverer()
>>> d.get_servers() #failed attempt
>>> d.get_servers()
{'': {'application': 'boxee', 'http_port': 8800,
'name': 'boxeebox', 'version': '1.5.1', 'http_auth_required': False}}

Command Interface

This interface is meant to serve a number of purposes, and it is meant to be expanded on in the future.

>>> from boxeeremotelib import CommandSpawner, CommandInterface
>>> spawner = CommandSpawner.from_discovery_result(*d.get_servers().iteritems().next())
>>> ci = CommandInterface(spawner)
>>> def printit(res):
... print res
>>> ci.getvolume(cb=printit)
>>> ci.setvolume(90)

It is likely clear from this example that the library is written with callback libraries in mind.


Library written by Karl Norby <>.


* Android [boxeeremote]( - helpful guide, particularly for discovery
Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
boxeeremotelib-0.1.tar.gz (8.0 kB) Copy SHA256 Checksum SHA256 Source Dec 9, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting