fireweave is the Fireweave server SDK for Rust. It evaluates control points and registers targets — the two v1 capabilities. The crate is blocking and synchronous, like the Python SDK. The wire protocol still uses the parameter name flagKey.
Supported versions
FromCargo.toml:
The SDK reads no environment variables. Every option is an explicit field on
InitOptions.
Install
Cargo.toml:
Initialize
init_fireweave is the single entry point. mode is required and never inferred. Init returns Err (kind Configuration) when mode is missing, remote credentials are blank, api_url fails the host allowlist, or local mode is combined with credentials.
InitOptions::local() seeds an empty map. InitOptions::remote(api_key, api_url) sets Mode::Remote.
Lower-level construction:
Configuration and authentication
Auth:
Authorization: Bearer <key> over ureq. Paths: POST /v1/flags/evaluate, POST /v1/targets/register.
https is required off-loopback; http is loopback-only. Default allowlist: app-server.fireweave.ai, staging-app-server.fireweave.ai, plus loopback.
See Configuration and auth.
Targets
register_target lives on the client. It never panics.
options may be None. In local mode the adapter records the target in-process and traces the call. Recorded targets are readable by downcasting the runtime adapter:
Control points
client.control_points is the product API. client.flags() returns a reference to the same field (std::ptr::eq holds). The alias is silent at runtime.
get_boolean_value, get_string_value, get_number_value, get_object_value, get_boolean_details, get_string_details, get_number_details, get_object_details, evaluate. Evaluation never panics. JsonValue is serde_json::Value.
See Control points.
Adapters
See Adapters.
Errors
FireweaveError with the same 15 ErrorKind values. Evaluation never panics; init returns Result. register_target returns RegisterTargetResult { ok, error }.
See Errors.
Testing
Local mode for an offline boolean seed.InMemoryAdapter for fixture-driven tests. The repo test-server stub does not implement POST /v1/targets/register.
See Testing.
Shutdown
Not in this SDK
- An async runtime or
async/awaitclient FireweaveProvider/ OpenFeaturereleases,exposures,signals,capabilities,guardrails- Environment-variable auto-read
- Dependencies beyond
ureq,serde, andserde_json
Next
Quickstart
Offline evaluate in every language.
Compatibility
Seven-language surface and the 65×7 aggregate.

