The official Rust client for Convex.
Convex is the backend application platform with everything you need to build your product.
This Rust client can write and read data from a Convex backend with queries, mutations, and actions. Get up and running at docs.convex.dev.
Join us on Discord to share what you're working on or get your questions answered.
Add the following to your Cargo.toml
file
[dependencies]
convex = "*"
let mut client = ConvexClient::new(DEPLOYMENT_URL).await?;
let mut subscription = client.subscribe("getCounter", vec![]).await?;
while let Some(new_val) = subscription.next().await {
println!("Counter updated to {new_val:?}");
}
Check out the full convex documentation at docs.convex.dev The rust API docs are available on docs.rs
The Convex rust client works on stable rust 1.65.0 and higher. It also works on nightly.
The Convex Rust Client uses the
tracing crate for logging. One common
way of initializing is via tracing_subscriber
. Then, you can see debug logging
by running your program with RUST_LOG=convex=debug
.
tracing_subscriber::fmt()
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
.init();
By default, this will emit all logs, including internal logs from the client.
Logs from your Convex backend will show up under the convex_logs
target at
Level=DEBUG. If you want to isolate just those logs, please refer to the
tracing_subscriber documentation.