Skip to content

The official Python SDK for adding Stanza Systems fault tolerance to your python 3 service.

License

Notifications You must be signed in to change notification settings

StanzaSystems/sdk-python

Repository files navigation

Stanza Python SDK

Stanza is a developer-first tool for increasing reliability based on prioritized traffic management, quota allocation, and rate-limiting. On the back-end, it helps prevent downtime related to overload and excessive use of third-party APIs. On the front-end, it helps segment and weight your traffic, react automatically to overload or other conditions, and inspect the state of your critical user journeys.

"Stanza Python SDK" provides higher-order functions ("guards") for adding this fault tolerance to your python 3.9+ application.

Installation

The SDK is available on the Python Package Index (PyPI). You can install them via pip with the following command:

pip install getstanza

Configuration

To use sdk-python, you'll need to import the getstanza package and initialize it with a Stanza API Key and other options.

If not specified in the SDK initialization, the API Key, Service Name, Service Release, and Environment are read from the environment variables STANZA_API_KEY, STANZA_SERVICE_NAME, STANZA_SERVICE_RELEASE, and STANZA_ENVIRONMENT, respectively.

For more information, see the Initialize Stanza section of our Python SDK documentation.

Usage

The SDK supports weighted, prioritized, global rate limiting which is externally managed by the Stanza Dashboard.

The samples/fastapi directory is a good place to start! (It's an example application which shows how to wrap inbound and outbound HTTP traffic with Stanza Guards.)

Or browse the Official Stanza Documentation for more info on how to get started.

Community

Join Stanza's Community Discord to get involved and help us improve the SDK!