Registry / devops / eppo-server-sdk

eppo-server-sdk

JSON →
library4.4.1pypypi✓ verified 86d ago

Server-side Python SDK for Eppo's feature flagging and experimentation platform. Current version 4.4.1, requires Python >=3.8. Follows semantic versioning; minor releases may introduce breaking changes.

pip install eppo-server-sdk
INSTALL
IMPORT
SIG · EPPO-SERVER-SDK
E
eppo-server-sdk
devopspythonv4.4.1
Install
2.1s avg
Import
13ms
Disk
24MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v4.4.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.014s · 26.2MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 2.1s · import 0.012s · 26MB
24MB installed
● package 24MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

EppoClient
from eppo_client import EppoClient
from eppo import EppoClient
Incorrect module path

Initialize EppoClient with API key and get a flag assignment.

from eppo_client import EppoClient, Configuration client = EppoClient( Configuration( api_key=os.environ.get('EPPO_API_KEY', '') ) ) assignment = client.get_assignment( subject_key='user-1', flag_key='my-flag', subject_attributes={'age': 30} ) print(assignment)
Debug
Known issues
breakingIn v4.0.0, the constructor changed from positional arguments to a Configuration object. Old code using EppoClient(api_key='...') will fail.
fix
Use EppoClient(Configuration(api_key='...')).
affects: >=4.0.0
breakingv4.0.0 removed synchronous methods; get_assignment is now the only method. Methods like get_boolean_assignment no longer exist.
fix
Use get_assignment with expected_variant or check assignment value manually.
affects: >=4.0.0
gotchaThe client is not thread-safe. Do not share a single EppoClient instance across threads without external locking.
fix
Create separate client instances per thread or use a thread-safe wrapper.
affects: all
gotchaConfiguration caching may cause stale flag evaluations if not configured properly. Default cache TTL is 300 seconds.
fix
Set cache_ttl_seconds in Configuration to control refresh interval.
affects: all
Errors
Common errors & fixes
TypeError: __init__() got an unexpected keyword argument 'api_key'
Using old positional argument pattern with new Configuration-based constructor.
fix
Wrap api_key in Configuration: EppoClient(Configuration(api_key='...'))
AttributeError: 'EppoClient' object has no attribute 'get_boolean_assignment'
Method removed in v4.0.0.
fix
Use client.get_assignment() and compare result to expected variant string.
Upgrade
Version history
4.4.1latest on PyPI · released Jan 7, 2026
Audit
Dependencies
requestsrequiredHTTP client for API calls
Agent activity
20 hits · last 30 days
node
18
OpenAI (training)
2
Resources
eppo-server-sdk — pip install eppo-server-sdk · libregistry