Installation
Install the Flagpool SDK for your platform
Flagpool provides native SDKs for all major platforms and languages. Each SDK evaluates flags locally — no network round-trips per evaluation — and keeps flag definitions up to date via CDN polling or real-time updates.
Client-Side SDKs
Client-side SDKs are designed for frontend applications running in browsers.
| SDK | Package | Install |
|---|---|---|
| JavaScript / TypeScript | @flagpool/sdk | npm install @flagpool/sdk |
| React | @flagpool/react | npm install @flagpool/react |
Server-Side SDKs
Server-side SDKs are designed for backend applications, APIs, and services.
| SDK | Package | Install |
|---|---|---|
| Python | flagpool-sdk | pip install flagpool-sdk |
| Go | flagpool-sdk-go | go get github.com/flagpool/flagpool-sdk-go |
| Java | io.flagpool:flagpool-sdk | Maven / Gradle (see below) |
| C# / .NET | Flagpool.Sdk | dotnet add package Flagpool.Sdk |
Package Managers
npm / yarn / pnpm
# JavaScript / TypeScript SDK
npm install @flagpool/sdk
# React SDK (includes @flagpool/sdk as a dependency)
npm install @flagpool/react
yarn add @flagpool/sdk
# or
yarn add @flagpool/react
pnpm add @flagpool/sdk
# or
pnpm add @flagpool/react
pip
pip install flagpool-sdk
Go modules
go get github.com/flagpool/flagpool-sdk-go
Maven
<dependency>
<groupId>io.flagpool</groupId>
<artifactId>flagpool-sdk</artifactId>
<version>0.2.0</version>
</dependency>
Gradle
implementation 'io.flagpool:flagpool-sdk:0.2.0'
NuGet
dotnet add package Flagpool.Sdk
SDK Requirements
| SDK | Minimum Version |
|---|---|
| JavaScript / TypeScript | Node.js 18+ or any modern browser |
| React | React 18+ |
| Python | 3.8+ |
| Go | 1.19+ |
| Java | 11+ |
| C# / .NET | .NET 6.0+ |
Verifying Installation
After installing, verify the SDK is working correctly:
import { FlagpoolClient } from '@flagpool/sdk'
const client = new FlagpoolClient({
projectId: 'your-project-id',
apiKey: 'your-api-key',
decryptionKey: 'your-decryption-key',
})
await client.init()
console.log('Flagpool initialized successfully!')
import { FlagpoolProvider, useFlagpool } from '@flagpool/react'
function Status() {
const { isReady, isLoading, error } = useFlagpool()
if (isLoading) return <p>Loading flags...</p>
if (error) return <p>Error: {error.message}</p>
if (isReady) return <p>Flagpool initialized successfully!</p>
}
function App() {
return (
<FlagpoolProvider
projectId="your-project-id"
apiKey="your-api-key"
decryptionKey="your-decryption-key"
>
<Status />
</FlagpoolProvider>
)
}
from flagpool_sdk import FlagpoolClient
client = FlagpoolClient(
project_id="your-project-id",
api_key="your-api-key",
decryption_key="your-decryption-key",
)
client.init()
print("Flagpool initialized successfully!")
package main
import (
"fmt"
flagpool "github.com/flagpool/flagpool-sdk-go"
)
func main() {
client := flagpool.NewClient(flagpool.ClientOptions{
ProjectID: "your-project-id",
APIKey: "your-api-key",
DecryptionKey: "your-decryption-key",
})
client.Init()
fmt.Println("Flagpool initialized successfully!")
defer client.Close()
}
import io.flagpool.sdk.FlagpoolClient;
import io.flagpool.sdk.Types.ClientOptions;
FlagpoolClient client = new FlagpoolClient(
new ClientOptions()
.setProjectId("your-project-id")
.setApiKey("your-api-key")
.setDecryptionKey("your-decryption-key")
);
client.init();
System.out.println("Flagpool initialized successfully!");
using Flagpool.Sdk;
var client = new FlagpoolClient(new FlagpoolClientOptions
{
ProjectId = "your-project-id",
ApiKey = "your-api-key",
DecryptionKey = "your-decryption-key",
});
await client.InitAsync();
Console.WriteLine("Flagpool initialized successfully!");
Next Steps
- Creating Your First Flag — set up your first feature flag in the dashboard
- Using Flags in Code — evaluate flags in your application