CLI for interacting with the Restream.io API
Project description
restream.io CLI
Python command-line tool to interact with the Restream.io API.
Bootstrapping
Requires uv installed.
uv sync
Basic commands
Public endpoints (no authentication required)
restream.io platforms- list available streaming platformsrestream.io servers- list available streaming servers
Authentication
restream.io login- perform OAuth2 login flow (opens browser, listens locally)
User profile
restream.io profile- show user profile
Channel management
restream.io channel list- list channelsrestream.io channel get <id>- fetch specific channelrestream.io channel set <id>- update channel settingsrestream.io channel meta get- get channel metadatarestream.io channel meta set- update channel metadata
Event management
restream.io event list- list events
Utility
restream.io version- show dynamic version derived from git tags
Configuration
Storage Location
Tokens and configuration are stored securely in the user's platform-appropriate config directory:
- Linux/macOS:
~/.config/restream.io/ - Windows:
%APPDATA%\restream.io\
The configuration directory location can be overridden using the
RESTREAM_CONFIG_PATH environment variable.
Environment Variables
The following environment variables are required for OAuth2 authentication:
RESTREAM_CLIENT_ID: OAuth2 client ID (required)RESTREAM_CLIENT_SECRET: OAuth2 client secret (required)
Additional optional configuration:
RESTREAM_CONFIG_PATH: Override the default configuration directory path
Before using the login command, ensure both authentication variables are set:
export RESTREAM_CLIENT_ID="your_client_id_here"
export RESTREAM_CLIENT_SECRET="your_client_secret_here"
restream.io login
Security
- Configuration directory is created with
0o700permissions (owner read/write/execute only) - Token files are created with
0o600permissions (owner read/write only) - Tokens are stored in JSON format in
tokens.jsonwithin the config directory
Development
Run tests:
uv run pytest
Roadmap
See AGENTS.md for AI agent instructions and extension points.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file restream_io-0.5.0.tar.gz.
File metadata
- Download URL: restream_io-0.5.0.tar.gz
- Upload date:
- Size: 58.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b163bfdcfb5c3bdf180356208a0632b29255e08903dde5ce07e7a0b5902f6102
|
|
| MD5 |
95817beea533bf6957f37b60e7ed4684
|
|
| BLAKE2b-256 |
78f1482b176e980a4102f02e88eddb52a86ea999d167f41d39e4d5dbbde33fc2
|
Provenance
The following attestation bundles were made for restream_io-0.5.0.tar.gz:
Publisher:
pypi-publish.yml on goodtune/restream-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
restream_io-0.5.0.tar.gz -
Subject digest:
b163bfdcfb5c3bdf180356208a0632b29255e08903dde5ce07e7a0b5902f6102 - Sigstore transparency entry: 380216176
- Sigstore integration time:
-
Permalink:
goodtune/restream-cli@9f5d793f5dd13a2e5c09edeb44ed93f0dd6b3b81 -
Branch / Tag:
refs/tags/0.5.0 - Owner: https://github.com/goodtune
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@9f5d793f5dd13a2e5c09edeb44ed93f0dd6b3b81 -
Trigger Event:
release
-
Statement type:
File details
Details for the file restream_io-0.5.0-py3-none-any.whl.
File metadata
- Download URL: restream_io-0.5.0-py3-none-any.whl
- Upload date:
- Size: 26.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73aee9802da8dc93d7f3e6929ec0dd6ddc045d80a8e4ec201287e4335f7e4957
|
|
| MD5 |
80bc658fd28321dca07a6923c5551009
|
|
| BLAKE2b-256 |
f6911aac00c7ebaa5964eb44b1b02c97c2779b9f94edab9fea4f4d8712d0dd9a
|
Provenance
The following attestation bundles were made for restream_io-0.5.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on goodtune/restream-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
restream_io-0.5.0-py3-none-any.whl -
Subject digest:
73aee9802da8dc93d7f3e6929ec0dd6ddc045d80a8e4ec201287e4335f7e4957 - Sigstore transparency entry: 380216194
- Sigstore integration time:
-
Permalink:
goodtune/restream-cli@9f5d793f5dd13a2e5c09edeb44ed93f0dd6b3b81 -
Branch / Tag:
refs/tags/0.5.0 - Owner: https://github.com/goodtune
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@9f5d793f5dd13a2e5c09edeb44ed93f0dd6b3b81 -
Trigger Event:
release
-
Statement type: