Docs/Getting Started/

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.

SDKPackageInstall
JavaScript / TypeScript@flagpool/sdknpm install @flagpool/sdk
React@flagpool/reactnpm install @flagpool/react

Server-Side SDKs

Server-side SDKs are designed for backend applications, APIs, and services.

SDKPackageInstall
Pythonflagpool-sdkpip install flagpool-sdk
Goflagpool-sdk-gogo get github.com/flagpool/flagpool-sdk-go
Javaio.flagpool:flagpool-sdkMaven / Gradle (see below)
C# / .NETFlagpool.Sdkdotnet 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

SDKMinimum Version
JavaScript / TypeScriptNode.js 18+ or any modern browser
ReactReact 18+
Python3.8+
Go1.19+
Java11+
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

Start Managing Feature Flags Today

Join teams who trust Flagpool to deliver features safely and efficiently.

No credit card required • Cancel anytime