Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Statsig helps you move faster with feature gates (feature flags), and/or dynamic configs. It also allows you to run A/B/n tests to validate your new features and understand their impact on your KPIs. If you're new to Statsig, check out our product and create an account at statsig.com.

Getting Started

Read through the Documentation or check out the Samples.

ID-list file routing and fallback

download_id_list_file_api selects the preferred base URL for file downloads. Enable fallback_to_statsig_api to try the original file URL from the manifest after an overridden request fails with a retryable network error, provided that URL belongs to the trusted HTTPS OpenAI CDN origin:

let options = statsig_rust::StatsigOptions {
    download_id_list_file_api: Some("http://statsig-proxy:8080".to_string()),
    fallback_to_statsig_api: Some(true),
    ..Default::default()
};

Fallback accepts only https://statsigcdn.openai.com with the default port or explicit :443. Fallback sends no request or SDK credentials to other manifest origins; the original request error is returned. Fallback does not follow redirects. Custom network providers must implement send_without_redirects; otherwise the fallback returns an error without sending a request.

All ID-list file downloads, including direct CDN, proxy, and fallback requests, preserve the URL's path and query except for legacy range parameters, which are removed. Every request sends Range, statsig-id-list-file-size, and Accept-Encoding: identity headers, preserving the file identity and byte offset for incremental updates. Partial responses require a valid Content-Range matching the requested offset and received body length. They may use 206 or, for compatibility, 200. A 200 without Content-Range means the complete available file from byte zero; the SDK applies only bytes after the requested offset. Available bytes may be behind or ahead of the manifest: the SDK advances by bytes actually applied and keeps polling while below the advertised size. Responses that make no progress or have inconsistent ranges use the remaining retry budget without publishing the refresh. Partial bodies without Content-Range are unsupported; a malformed header is rejected even when the status is 200.

Set fallback_to_statsig_api to Some(false) or leave it unset to keep file downloads strictly on the selected destination. There is no fallback attempt when the override resolves to the original URL, no override is set, or the request fails with an authentication rejection (401/403) or another non-retryable error. Response parsing failures do not trigger fallback. This uses the existing option across language bindings; wrappers that disable it continue to opt out.

A successful proxy request makes no additional request. Primary and fallback requests share the same per-file attempt budget (three attempts by default). The next synchronization starts with the configured override again.

Read-only data stores

Rust data stores can override DataStoreTrait::is_read_only(); Python DataStore subclasses can override the synchronous is_read_only() method:

def is_read_only(self) -> bool:
    return not self.is_leader

The default is False, preserving existing writable stores. Return True for a follower that only consumes shared cache entries. Bootstrap/polling reads and config hydration/evaluation remain enabled, but full network responses no longer build or compress hydrated cache snapshots or call the datastore's write methods. Delta responses continue to skip snapshot writes. Keep the role stable during an update. A failing Python capability check is treated as read-only.

Packages

Protobuf-typed reads and publication callbacks are described in Typed dynamic configs, with Python, Node, and Go API guides. See Python mmap preload for optional returnable hash precomputation when loading writer-published artifacts.

Bindings

Community

If you need any assitance or just have a question, feel free to reach out to us on Slack.

Metadata

Release files for oai-statsig-python-core 0.37.0b202610091831

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for oai-statsig-python-core 0.37.0b202610091831
File Interpreter ABI Platform
oai_statsig_python_core-0.37.0b202610091831-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Release files / oai_statsig_python_core-0.37.0b202610091831-cp310-abi3-macosx_10_12_x86_64.whl

Download URL oai_statsig_python_core-0.37.0b202610091831-cp310-abi3-macosx_10_12_x86_64.whl
Size 7.4 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
fa861122a1e7e6b9a09cd2ff3a237d6552ac9298962d9119aea73afd21f7a076
BLAKE2b-256 checksum
How to use checksums
f170aeaecbdb2ba3701bf9532f21d15f2f87890a23596576aacded4d7d345bd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.36.0

9 release files

0.31.0

9 release files

0.28.0

9 release files

0.27.0

9 release files

0.26.0

9 release files

0.24.1

9 release files

0.24.0

9 release files

0.20.0

9 release files

0.19.4

9 release files

0.19.3

9 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page