A thin client for your own code in Java, Python or Rust
The SDK is how your applications talk to the platform — time-series, assets, events, files and live streams. One client, three languages, the same concepts in each.
Every code example in the SDK documentation is written in all three languages — pick yours once and the whole site follows. The API reference documents the endpoints underneath.
// Create a series and write a datapoint
var client = DatahubClient.fromEnv();
var series = Timeseries.of("engine_temperature");
series.setUnit("celsius");
client.timeseries().create(series);
client.timeseries().ingest(Map.of(
"engine_temperature",
List.of(Datapoint.of(Instant.now(), 92.4))));
Install
Pick a language and add one dependency
The client reads its configuration from the environment: a base URL, and either a static token or OAuth2 client credentials. There is nothing else to wire up before your first call.
Java
For JVM services. Add one dependency with Gradle or Maven.
// build.gradle.kts
implementation(
"ai.intellistream:datahub-sdk:0.1.0")
Rust
For native services and tooling. Add the crate with Cargo.
# Cargo.toml
[dependencies]
dataplatform-rust-sdk = "0.1"
What it covers
The platform's services, exposed as a library
The same shape in every language: create, ingest, query, subscribe.
- Time-series: create series, ingest datapoints in parallel, query raw values and aggregates.
- Resources: model assets and the relationships between them as a graph.
- Events: record and query what happened, and when.
- Files: attach documents, drawings and images to the assets they belong to.
- Subscriptions: tail live data over a streaming connection.
- Authentication: a static token or OAuth2 client credentials, read from the environment.