10 stable releases
1.5.1 | Oct 22, 2024 |
---|---|
1.5.0 | Jun 11, 2024 |
1.4.1 | Sep 18, 2023 |
1.3.0 | Aug 30, 2023 |
1.0.1 | Dec 13, 2022 |
#45 in WebSocket
565 downloads per month
44KB
1K
SLoC
tritium_remote
A library for interacting with Tritium systems. Hosted docs are here (require login).
- Connects to a running Tritium system by WebSocket
- Uses GraphQL to send commands and request data
Implemented in Rust with bindings to other languages:
- Python NB DEPRECATED in favour of the pure Python
tritium-remote-py
This library is currently only published and tested on Linux. However the rust crate ought to work on other platforms.
This is only to be used on a trusted local network. The Tritium system will be accessed over LAN without encryption.
APIs
Sequence playback
- Start & stop sequence
Scripting
- Start & stop scripts
- Post messages to named channels to which scripts may subscribe
Generic Queries and Mutations
- Execute user-supplied GraphQL query or mutation documents
- Optional variables, supplied as JSON
- Any response is returned as a JSON encoded object
Running Examples
The Rust and Python examples use the TRITIUM_AUTH_TOKEN environment variable to get the JWT access token they need.
To generate an access token...
- Log into the Tritium cloud UI
- Connect to your locally-running system
- Go to the "Scripts" page
- Select the API Keys tab
- Click "CREATE AN API KEY"
$ export TRITIUM_AUTH_TOKEN="{paste token here}"
$ cargo run --example system_info
License
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Dependencies
~6–15MB
~190K SLoC