Crate statsig_client

Crate statsig_client 

Source
Expand description

Statsig Client for Rust

A type-safe, async client for interacting with Statsig’s feature gates and dynamic configs.

§Example

use statsig_client::{StatsigClient, User};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = StatsigClient::new("your-api-key").await?;
     
    let user = User::builder()
        .user_id("user-123")
        .email("user@example.com")
        .build()?;
     
    let gate_result = client.check_gate("my-feature-gate", &user).await?;
    println!("Gate passes: {}", gate_result);
     
    Ok(())
}

Re-exports§

pub use api::ConfigEvaluationResult;
pub use api::GateEvaluationResult;
pub use api::StatsigMetadata;
pub use batch::BatchProcessor;
pub use batch::BatchRequest;
pub use cache_metrics::CacheMetrics;
pub use cache_metrics::CacheMetricsSummary;
pub use config::StatsigClientConfig;
pub use error::Result;
pub use error::StatsigError;
pub use events::ExposureEventMetadata;
pub use events::LogEventResponse;
pub use events::StatsigEvent;
pub use events::StatsigEventTime;
pub use events::StatsigEventValue;
pub use response::ApiResponseHandler;
pub use user::EnvironmentTier;
pub use user::StatsigEnvironment;
pub use user::User;
pub use user::UserBuilder;

Modules§

api
batch
Batch processing module for optimizing API requests
cache_metrics
Cache metrics and monitoring for the Statsig client
config
error
events
response
Unified API response handling for Statsig client
user

Structs§

StatsigClient
A high-performance, async client for Statsig feature flags and dynamic configs.