Skip to content

About

Official Python SDK for ReleasePace feature flags. Zero required dependencies. Thread-safe background polling. Works with Django, Flask, and FastAPI.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

9 Commits

Folders and files

Repository files navigation

releasepace

Official Python SDK for ReleasePace — production-grade feature flags.

PyPI Python license

Zero required dependencies — uses Python stdlib urllib by default, requests optionally.


Installation

pip install releasepace

# With requests (recommended for production)
pip install "releasepace[requests]"

Quick start

from releasepace import ReleasePace

# Context manager (recommended — auto-disconnects)
with ReleasePace(api_key='rp_srv_xxxxxxxxxxxx', environment='production') as rp:
    if rp.is_enabled('new-checkout'):
        render_new_checkout()

    label = rp.get_string('cta-label', default='Get started')
    limit = rp.get_number('rate-limit', default=100)
    cfg   = rp.get_json('feature-config', default={})

Django / Flask integration

# settings.py / app factory — create once, reuse everywhere
import atexit
from releasepace import ReleasePace

rp = ReleasePace(api_key='rp_srv_xxx', environment='production')
rp.connect()
atexit.register(rp.disconnect)

# views.py
def checkout_view(request):
    if rp.is_enabled('new-checkout'):
        return render(request, 'checkout_v2.html')
    return render(request, 'checkout.html')

API reference

ReleasePace(api_key, **options)

Parameter Type Default Description
api_key str required SDK key from your dashboard
environment str "production" Environment slug
api_url str https://api-prod.releasepace.workers.dev Override API URL
poll_interval float 30.0 Seconds between polls
context dict {} Evaluation context (userId, country…)
on_update callable None Called with List[Flag] when flags change
on_error callable None Called with Exception on fetch errors

Methods

Method Returns Description
connect() ReleasePace Fetch flags, start background polling
disconnect() None Stop polling
refresh() None Force immediate re-fetch
is_enabled(key) bool Check boolean flag
get_string(key, default='') str Get string flag value
get_number(key, default=0) float Get number flag value
get_json(key, default=None) Any Get JSON flag value
get_value(key, default=None) Any Get any flag value
get_all_flags() List[Flag] Get all flags
set_context(**kwargs) None Update evaluation context

Gradual rollouts

rp.set_context(userId='user-123')
if rp.is_enabled('new-feature'):
    # Same user always gets same result (sticky bucketing)
    ...

Self-hosting

rp = ReleasePace(
    api_key='rp_srv_xxx',
    api_url='https://api.yourdomain.com',
)

Author

Aryaa Tiwari — LinkedIn

License

MIT © ReleasePace

About

Official Python SDK for ReleasePace feature flags. Zero required dependencies. Thread-safe background polling. Works with Django, Flask, and FastAPI.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages