1 unstable release
Uses new Rust 2024
new 0.1.0 | Apr 1, 2025 |
---|
#353 in Robotics
37 downloads per month
Used in 2 crates
31KB
481 lines
sift_connect
sift_connect
is a convenience crate that makes it simple to create a gRPC connection to
Sift. Most users won't need to install this crate as it's re-exported in other crates. The
following is an example of how to create a gRPC connection to Sift using sane defaults.
use sift_connect::{Credentials, SiftChannelBuilder};
use std::env;
let credentials = Credentials::Config {
uri: env::var("SIFT_URI").unwrap(),
apikey: env::var("SIFT_API_KEY").unwrap(),
};
let grpc_conn = SiftChannelBuilder::new(credentials)
.build()
.unwrap();
Configuration File
Credentials can also be loaded from a sift.toml
file stored in a the user's local config
directory.
The following is an example of a valid sift.toml
file:
uri = "http://example-sift-api.com"
apikey = "example-sift-api-key"
[mission]
uri = "http://example-sift-api.com"
apikey = "my-other-sift-api-key"
The top-level TOML table is considered the default profile, with the mission
table being a
named profile. To reference the default profile:
use sift_connect::{Credentials, SiftChannelBuilder};
use std::env;
let credentials = Credentials::Profile(None);
let grpc_conn = SiftChannelBuilder::new(credentials)
.build()
.unwrap();
To reference the mission
profile:
use sift_connect::{Credentials, SiftChannelBuilder};
use std::env;
let credentials = Credentials::Profile(Some("mission".into()));
let grpc_conn = SiftChannelBuilder::new(credentials)
.build()
.unwrap();
Dependencies
~13–22MB
~389K SLoC