Skip to content
ByteBakerPublic

About

Feature flags you can run as one binary. Manage rollouts in a dashboard and evaluate locally inside your application. Built using Rust with SDKs for Python, Rust, Go, and Node.js.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Partly

Self-hosted feature flags in one Rust executable, with a dashboard and SQLite. No Docker or external services required.

  • Boolean, string, numeric, and named JSON results with percentage rollouts and custom rules.
  • Python, Rust, Go, and Node.js SDKs with OpenFeature providers.
  • Shared flags, app-scoped API Keys, and environment permissions.
  • Audit logs and last-reported usage. User context stays local.

Partly dashboard with typed values, percentage rollouts, and last-reported usage

Build locally

Requires Rust 1.89+, a C compiler, and Task. The compiled server needs none of these tools.

task build:server
./target/release/partly serve --host 127.0.0.1 --port 8080 --db ./partly.db
  1. Open http://127.0.0.1:8080 and create an administrator account.
  2. Create new_checkout with Enabled for everyone. Under Apps & Keys, create an app and select that flag.
  3. Copy the application ID and API Key, then follow your language's Docs example.

Reuse the database path on restart. Set up HTTPS before remote access.

Alpha: GitHub downloads and registry packages are not published yet.

Connect an application

SDK Runnable example
Python · CPython 3.14 Quickstart
Rust Quickstart
Go Quickstart
Node.js / TypeScript Quickstart

Supply the URL, environment, application ID, and API Key. Initialize once at startup, reuse the client for local evaluation, and close at shutdown. Examples use OpenFeature with explicit error handling; native APIs remain available. OpenFeature coverage and limits.

How it compares

All five support a shared, self-hosted control plane. Local evaluation runs inside applications. Checked November 2026; paid features are marked.

Capability Partly Flipt GO Feature Flag Unleash Flagsmith
Server language Rust Go Go TypeScript / Node.js Python / Django
Storage SQLite Git Configuration files PostgreSQL PostgreSQL
Standalone binary ✅ ✅ ✅ ❌ ❌
Management dashboard ✅ ✅ ❌ (flag editor only) ✅ ✅
Boolean flags ✅ ✅ ✅ ✅ ✅
Percentage rollouts ✅ ✅ ✅ ✅ ✅
Context-based targeting ✅ ✅ ✅ ✅ ✅
Non-Boolean results ✅ Types ✅ Variants ✅ Values ✅ Variants ✅ Values
Local backend evaluation ✅ ✅ ✅ (by provider) ✅ ✅ (opt-in)
Dashboard roles ✅ Environment roles ✅ Policy-based ❌ ✅ Basic; advanced paid ✅ Enterprise
Audit / change history ✅ Audit log ✅ Git history External notifications ✅ Basic; advanced paid ✅ Enterprise
OpenFeature integration ✅ Providers ✅ Providers / OFREP ✅ Providers ✅ Providers ✅ Providers

OpenFeature integration does not imply full conformance. Git history and notifications differ from account-level audit logs.

SDK availability Partly Flipt GO Feature Flag Unleash Flagsmith
Python, Go, Node.js ✅ ✅ ✅ ✅ ✅
Rust ✅ Local ✅ Remote ✅ Remote ✅ ✅
Java, .NET, Ruby, PHP ❌ ✅ ✅ ✅ ✅
Browser, iOS, Android ❌ ✅ ✅ ✅ ✅

Memory

These are different workloads and deployment sizes, not a benchmark ranking or minimum requirements.

RAM reference Partly Flipt GO Feature Flag Unleash Flagsmith
Server ~26.2 MiB measured, idle Not specified 128 MiB Helm reservation 512 MiB–1 GiB recommended 2 × 2 GB API workers, Small production tier
Additional services SQLite included None required None required PostgreSQL ≥1 GiB Database 8 GB + task worker 2 GB in that tier

Partly's measurement used one flag without application load; production sizing needs testing. Flipt leaves resources unset. Flagsmith's task worker is optional.

Limits and next steps

  • Named records are flat, with required fields. No nested records, arrays, or weighted experiments. Typed results and SDK enhancements.
  • Single server; no HA or SSO. API Keys are plaintext in SQLite and backups; keep them private.
  • Policies live in SDK memory. Existing clients tolerate outages; new processes need the server. Revocation takes effect when received.
  • Release targets: macOS ARM64 and Linux x86_64. Release checks and remaining work.

Development and guides

Use task setup once, then task check, task build, or task test. Pre-push checks include vulnerability scans without building product artifacts. See requirements, commands, and CI tiers.

The server and dashboard are source-available under ELv2. SDKs, shared evaluation code, bindings, and application examples use Apache-2.0. License details.

About

Feature flags you can run as one binary. Manage rollouts in a dashboard and evaluate locally inside your application. Built using Rust with SDKs for Python, Rust, Go, and Node.js.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages