Featurevisor
See all posts

Announcing Featurevisor Rust SDK

By Fahad Heylaal on

With the introduction of Featurevisor Rust SDK, you can now use Featurevisor in your Rust applications, from backend services and CLIs to embedded and edge workloads. Not just flags alone, but also gradual rollouts, A/B testing, variables, and more.

Rust SDK

Head over to the Rust SDK documentation to get started with Featurevisor in your Rust applications.

The crate is published on crates.io:

[dependencies]
featurevisor = "0.1"

Built the way Rust applications expect

The evaluation behaviour is identical to every other Featurevisor SDK, because they all consume the same datafiles and are verified against the same shared contract. A user bucketed into treatment in the browser gets treatment in your Rust service.

What is specific to this SDK is how it fits into a Rust application:

  • Evaluation is synchronous and needs no async runtime. Creating an instance and calling is_enabled does not pull in Tokio or any executor, so the SDK stays usable from any context.
  • The instance is cheaply cloneable and shared across threads. Featurevisor is Send + Sync, so one instance behind an Arc serves every worker. Evaluation takes a snapshot of instance state before invoking any of your callbacks, which keeps user code off the lock.
  • The command line runner is optional. It lives behind a cli feature, so applications that only evaluate features never compile or link its dependencies.
  • No unsafe code. The crate declares #![forbid(unsafe_code)].

Repositories

You may find these GitHub repositories useful:

Reach out

If you would like to contribute to the Rust SDK or have any questions, feel free to reach out on GitHub.