General Run Capabilities for SDKs

This overview seeks to indicate the capabilities of the SDKs and explain what they are and what the do. If you are considering helping us by writing a new SDK for your favourite language, or expand on an existing library, this table of capability indicates what each different language can support and where extra work is helpful.

Java1 Javascript2 Go Dart3 C#4 Python Ruby Swift

Streaming API feature updates (SSE)

Y

Y

Y

Y

Y

Y

Y

N

REST API by timer polling (GET feature updates )

Y

Y

N

Y

N

Y

Y

N

REST API by usage/timeout (GET feature updates )

N

Y

N

N

N

Y

Y

Y

REST API one-off GET requests support

Y

Y

N

Y

N

Y

N

Y

Test API (PUT requests to update feature values)

Y

Y

N

Y

Y

N

N

N

Rollout Strategies - Server Evaluated

Y

Y

N

Y

Y

Y

Y

Y

Rollout Strategies - Client Evaluated

Y

Y

Y

N

Y

Y

Y

N

Background Start

Y

Y

Y

Y

Y

Y

Y

Y

Block until Start

N

N

Y

N

N

N

N

N

Readiness Listeners

Y

Y

Y

Y

Y

N

N

N

Feature Listeners

Y

Y

Y

Y

Y

N

N

N

Feature Listener Removal

N

Y

Y

Y

Y

N

N

N

Analytics Support

Y

Y

Y

Y

Y

N

N

N

Google Analytics

Y

Y

Y

Y

Y

N

N

N

Feature Overrides

N

Y

N

N

N

Y

N

N

Fastly Polling Support

Y

Y

N

Y

N

Y

Y

Y

Fastly SSE Support

Y

Y

Y

Y

Y

Y

Y

N

Catch & Release

N

Y

N

Y

N

N

N

N

Feature Interceptors

Y

Y

N

Y

N

Y

Y

Y

  • (1) Java is supported by libraries from Apache Maven Central. You will need to choose an OKHttp or Jersey client.

  • (2) Javascript and Typescript are supported via a Typescript library. This is available at the npm repository.

  • (3) Dart and Flutter are supported by Dart libraries available at pub.dev.

  • (4) C# and .NET is supported by libraries from nuget. Nuget.org