Meta package - Stump extension (TV streaming/IR control)

xbox, one, smartglass, stump, tv, streaming
pip install xbox-smartglass-stump==1.10.0



PyPi version Docs Build status Discord chat

This library provides the core foundation for the smartglass protocol that is used with the Xbox One Gaming console

For in-depth information, check out the documentation:

NOTE: Since 29.02.2020 the following modules are integrated into core: stump, auxiliary, rest-server NOTE: Nano module is still offered seperately


  • Power on / off the console
  • Get system info (running App/Game/Title, dashboard version)
  • Media player control (seeing content id, content app, playback actions etc.)
  • Stump protocol (Live-TV Streaming / IR control)
  • Title / Auxiliary stream protocol (f.e. Fallout 4 companion app)
  • Trigger GameDVR remotely
  • REST Server

Major frameworks used


Via pip

pip install xbox-smartglass-core

See the end of this README for development-targeted instructions.

How to use

There are several command line utilities to check out::


Some functionality, such as GameDVR record, requires authentication with your Microsoft Account to validate you have the right to trigger such action.

To authenticate / get authentication tokens use::


REST server

Start the server daemon

Usage information

Example localhost:

# Serve on ''
$ xbox-rest-server
INFO:     Started server process [927195]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on (Press CTRL+C to quit)

Example local network: is the IP address of your computer running the server:

xbox-rest-server --host -p 1234
INFO:     Started server process [927195]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on (Press CTRL+C to quit)


Since the migration from Flask framework to FastAPI, there is a nice OpenAPI documentation available:



If your server runs on something else than or you need to register your own OAUTH application on Azure AD and supply appropriate parameters to the login-endpoint of the REST server.

Check out:

Fallout 4 relay service

To forward the title communication from the Xbox to your local host to use third-party Fallout 4 Pip boy applications or extensions



Here you can see the SmartGlass TUI (Text user interface):

TUI list TUI console TUI log TUI log detail

Development workflow

Ready to contribute? Here's how to set up xbox-smartglass-core-python for local development.

  1. Fork the xbox-smartglass-core-python repo on GitHub.
  2. Clone your fork locally
git clone
  1. Install your local copy into a virtual environment. This is how you set up your fork for local development
python -m venv ~/pyvenv/xbox-smartglass
source ~/pyvenv/xbox-smartglass/bin/activate
cd xbox-smartglass-core-python
pip install -e .[dev]
  1. Create a branch for local development::
git checkout -b name-of-your-bugfix-or-feature
  1. Make your changes.

  2. Before pushing the changes to git, please verify they actually work

  1. Commit your changes and push your branch to GitHub::
git commit -m "Your detailed description of your changes."
git push origin name-of-your-bugfix-or-feature
  1. Submit a pull request through the GitHub website.

Pull Request Guidelines

Before you submit a pull request, check that it meets these guidelines:

  1. Code includes unit-tests.
  2. Added code is properly named and documented.
  3. On major changes the README is updated.
  4. Run tests / linting locally before pushing to remote.


Kudos to joelday for figuring out the AuxiliaryStream / TitleChannel communication first! You can find the original implementation here: SmartGlass.CSharp

This package uses parts of Cookiecutter and the audreyr/cookiecutter-pypackage project template