xbox-devportal
Async client for the Xbox (Series/One) Windows Device Portal in Developer Mode.
Installation
pip install xbox-devportal
Quick Start
import asyncio
from xbox_devportal import XboxDevPortal
async def main():
client = XboxDevPortal("10.0.0.5", username="user", password="pass")
# Fetch device info
info = await client.info()
print(f"Device: {info.computer_name} ({info.os_version})")
# Close the connection
await client.close()
asyncio.run(main())
API Reference
Device Information
| Method | Returns | Description |
|---|---|---|
info() |
DeviceInfo |
Device name, OS version, platform |
system_perf() |
SystemPerf |
CPU load, memory, GPU metrics |
processes() |
list[Process] |
All running processes with memory usage |
foreground_app() |
Process | None |
Currently active non-shell application |
screenshot() |
bytes |
PNG screenshot of current display |
Apps & Packages
| Method | Returns | Description |
|---|---|---|
packages(sideloaded_only=False) |
list[Package] |
Installed packages; filter by sideloaded_only |
launch(package) |
None |
Launch an app by package name or object |
terminate(package) |
None |
Terminate a running app |
install(local_path) |
None |
Install APPX; polls state until complete or error (60-cycle timeout) |
uninstall(package_full_name) |
None |
Uninstall package by full name |
File System (LocalAppData)
| Method | Returns | Description |
|---|---|---|
list_files(package_full_name, path) |
list[dict] |
List files in app's LocalState (e.g., //LocalState) |
upload_file(package_full_name, path, local_path, remote_name=None) |
None |
Upload file to app directory |
delete_file(package_full_name, path, filename) |
None |
Delete file from app directory |
Device Control
| Method | Returns | Description |
|---|---|---|
settings() |
dict[str, Setting] |
All device settings with options |
set_setting(name, value) |
None |
Set device setting (e.g., power mode) |
sandbox() |
str |
Current Xbox Live sandbox |
smb_credentials() |
SmbShare |
SMB share path, username, password |
restart() |
None |
Restart the device |
shutdown() |
None |
Shut down the device |
Security Notes
-
Self-Signed Certificate: The Device Portal uses HTTPS with a self-signed certificate. The client disables SSL verification by default (
ssl=False). Use only over a trusted network. -
Basic Authentication: Credentials are sent via Basic Auth (base64-encoded). Use only on a LAN behind a firewall. Do not expose the Device Portal port (default 11443) to the internet.
License
MIT
Metadata
Release files for xbox-devportal 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xbox_devportal-0.2.1.tar.gz | 110.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xbox_devportal-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 117.8 kB
Release files / xbox_devportal-0.2.1.tar.gz
| Download URL | xbox_devportal-0.2.1.tar.gz |
|---|---|
| Size | 110.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0c8a5af9e5242315a932e403bbf02e3eaa4f662ddfab6d27659b32171dcbfc58
|
|
BLAKE2b-256 checksum How to use checksums |
8a0129b8a48dd493fcbbca703a6c2066fdd4dab7d7a3b192691113b574fa1d4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / xbox_devportal-0.2.1-py3-none-any.whl
| Download URL | xbox_devportal-0.2.1-py3-none-any.whl |
|---|---|
| Size | 7.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6d6f6e3aad4722cde4844473b2a2a5602c8070b3e98608a948c250c062cc3f7c
|
|
BLAKE2b-256 checksum How to use checksums |
fa1c0cb70b2cef98feda5b4585bb7403f3e55b2804176bf30abf6512058c462d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|