All Projects → OpenXbox → xbox-smartglass-core-python

OpenXbox / xbox-smartglass-core-python

Licence: MIT license
SmartGlass Core protocol python library

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to xbox-smartglass-core-python

xbox-smartglass-nano-python
The gamestreaming part of the smartglass library
Stars: ✭ 105 (+52.17%)
Mutual labels:  xbox, smartglass
xbox-smartglass-rest-python
[DEPRECATED] Xbox One SmartGlass RESTful server
Stars: ✭ 36 (-47.83%)
Mutual labels:  xbox, smartglass
Fifa21 Autobuyer
Fifa 21 AutoBuyer / Snipping Bot for fifa 21 ultimate team web app with captcha solver
Stars: ✭ 153 (+121.74%)
Mutual labels:  xbox
extract-xiso
Xbox ISO Creation/Extraction utility. Imported from SourceForge.
Stars: ✭ 358 (+418.84%)
Mutual labels:  xbox
Xboxkeyboardmouse
Keyboard and mouse for Xbox One streaming on Windows 10
Stars: ✭ 235 (+240.58%)
Mutual labels:  xbox
The Forge
The Forge Cross-Platform Rendering Framework PC Windows, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2
Stars: ✭ 2,710 (+3827.54%)
Mutual labels:  xbox
f1-telemetry-client
A Node UDP client and telemetry parser for Codemaster's Formula 1 series of games
Stars: ✭ 128 (+85.51%)
Mutual labels:  xbox
Arduinoxinput
XInput library for USB capable Arduino boards
Stars: ✭ 126 (+82.61%)
Mutual labels:  xbox
MitchEngine
The 3D game engine so good it has my name in it.
Stars: ✭ 19 (-72.46%)
Mutual labels:  xbox
Wolf.engine
The Wolf is a comprehensive set of C/C++ open source libraries for realtime rendering, realtime streaming and game developing
Stars: ✭ 230 (+233.33%)
Mutual labels:  xbox
AtomicX
Browse, Download and Install GSC Mods for Black Ops II (PlayStation 3 & Xbox 360)
Stars: ✭ 20 (-71.01%)
Mutual labels:  xbox
Rom Properties
ROM Properties Page shell extension
Stars: ✭ 210 (+204.35%)
Mutual labels:  xbox
Nxdk
The cross-platform, open-source SDK to develop for original Xbox: *new* xdk
Stars: ✭ 200 (+189.86%)
Mutual labels:  xbox
Xbox-GDK-Samples
Game development samples published by the Xbox Advanced Technology Group using the Microsoft GDK.
Stars: ✭ 128 (+85.51%)
Mutual labels:  xbox
Puremvc Csharp Multicore Framework
PureMVC MultiCore Framework for C#
Stars: ✭ 166 (+140.58%)
Mutual labels:  xbox
FATXTools
FATX Data Recovery Tools (C#)
Stars: ✭ 34 (-50.72%)
Mutual labels:  xbox
Directxtk
The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++
Stars: ✭ 1,918 (+2679.71%)
Mutual labels:  xbox
cod-api
A thin Call of Duty API wrapper written in TypeScript
Stars: ✭ 40 (-42.03%)
Mutual labels:  xbox
nxdk-rdt
Remote Dev Tool is a tool to remote control an Xbox using memory access and RPC
Stars: ✭ 23 (-66.67%)
Mutual labels:  xbox
Directx Vs Templates
Direct3D Visual Studio Templates
Stars: ✭ 205 (+197.1%)
Mutual labels:  xbox

Xbox-Smartglass-Core

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: https://openxbox.org/smartglass-documentation

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

Features

  • 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

Install

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::

xbox-cli

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::

xbox-authenticate

REST server

Start the server daemon

Usage information

Example localhost:

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

Example local network:

192.168.0.100 is the IP address of your computer running the server:

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

REST API

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

http://{IPAddress}:{port}/docs

Authentication

If your server runs on something else than 127.0.0.1:5557 or 127.0.0.1:8080 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: https://github.com/OpenXbox/xbox-webapi-python/blob/master/README.md

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

xbox-fo4-relay

Screenshots

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 [email protected]:your_name_here/xbox-smartglass-core-python.git
  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

pytest
  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.

Credits

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].