Skip to content

Rust SDK for RudderStack - Open-source, warehouse-first Customer Data Pipeline and Segment-alternative. It collects and routes clickstream data and builds your customer data lake on your data warehouse.

License

Notifications You must be signed in to change notification settings

rudderlabs/rudder-sdk-rust

Repository files navigation

RudderStack - Customer Data Platform for Developers

Customer Data Platform for Developers


About RudderStack

RudderStack is a customer data platform for developers. Our tooling makes it easy to deploy pipelines that collect customer data from every app, website and SaaS platform, then activate it in your warehouse and business tools.

RudderStack Rust SDK

The RudderStack Rust SDK is an analytics client to track events from your Rust application. Once enabled, the event requests hit the RudderStack servers. RudderStack then transforms and routes these events to your specified destination platforms.

Questions? Start a conversation on our Slack channel.

For detailed documentation on the RudderStack Rust SDK, click here.

Getting Started with Rust SDK

Include rudderanalytics as a dependency in your Rust application Cargo.toml file:

[dependencies]
rudderanalytics = "<latest_version>"

Initializing the RudderStack Client

use rudderanalytics::client::RudderAnalytics;
use rudderanalytics::message::{Identify, Track, Page, Group, Screen, Alias, Batch, Message, BatchMessage};

let rudder_analytics = RudderAnalytics::load("YOUR_WRITE_KEY".to_string(), "YOUR_DATA_PLANE_URL".to_string());

Sending Events

Once the RudderStack client is initialized, you can use it to send your events. A sample call for track event is shown below:

use serde_json::json;

rudder_analytics.send(&Message::Track(Track {
    user_id: Some("sample_user_id".to_string()),
    event: "Test Event".to_owned(),
    properties: Some(json!({
        "some property": "some value",
        "some other property": "some other value",
    })),
    ..Default::default()
})).expect("Failed to send data to Rudderstack");

For more information on the supported calls, refer to the documentation.

Contribute

We would love to see you contribute to RudderStack. Get more information on how to contribute here.

Contact Us

For more information on any of the sections covered in this readme, you can contact us or start a conversation on our Slack channel.

Follow Us