Stax Python SDK
Project description
Stax SDK for Python
staxapp
is the Stax Software Development Kit (SDK) for Python, allowing users to interact with the Stax platform.
Authentication
In order to use the Stax SDK for Python, you will need a valid Stax API Token.
Installation
Install the package using pip
:
pip install staxapp
Configure environment variables:
export STAX_REGION=au1.staxapp.cloud
export STAX_ACCESS_KEY=<your_access_key>
export STAX_SECRET_KEY=<your_secret_key>
Client Auth Configuration
The Stax SDK can configure each client individually by passing in a config on init. When a client is created its configuration will be locked in and any change to the configurations will not affect the client.
This can be seen in our guide.
Optional configuration:
Token expiry
The Stax SDK can be configured to refresh the API Token prior to expiry. Suggested use when running within CI/CD tools to reduce overall auth calls
from staxapp.config import Config, StaxAuthRetryConfig
auth_retry_config = StaxAuthRetryConfig
auth_retry_config.token_expiry_threshold = 2
Config.api_auth_retry_config = auth_retry_config
(Deprecated): This value can also be set via the following Environment Var TOKEN_EXPIRY_THRESHOLD_IN_MINS
export TOKEN_EXPIRY_THRESHOLD_IN_MINS=2 # Type: Integer representing minutes
Retries
The Stax SDK has configured safe defaults for Auth and API retries. This behaviour can be adjusted via the SDK config: example.
from staxapp.config import Config, StaxAPIRetryConfig, StaxAuthRetryConfig
retry_config = StaxAPIRetryConfig
retry_config.retry_methods = ('GET', 'POST', 'PUT', 'DELETE', 'OPTIONS')
retry_config.status_codes = (429, 500, 502, 504)
retry_config.backoff_factor = 1.2
retry_config.max_attempts = 3
Config.api_retry_config = retry_config
auth_retry_config = StaxAuthRetryConfig
auth_retry_config.max_attempts = 3
Config.api_auth_retry_config = auth_retry_config
Logging levels
As the logging levels are set on the import of the Config
module, the below configuration is available on the presense of following environment variables:
- LOG_LEVEL: Default logger level
Value of environment variables should match Python - Logging Levels
Example:
Changing the logging from INFO
to DEBUG
export LOG_LEVEL=DEBUG
python run_example.py
Usage
Read Accounts
The following code can be used to read accounts within your Stax Organisation:
import json
import os
from staxapp.config import Config
from staxapp.openapi import StaxClient
Config.access_key = os.getenv("STAX_ACCESS_KEY")
Config.secret_key = os.getenv("STAX_SECRET_KEY")
# Read all accounts within your Stax Organisation
accounts = StaxClient("accounts")
response = accounts.ReadAccounts()
print(json.dumps(response, indent=4, sort_keys=True))
# Read all active accounts within your Stax Organisation and include tags in the response
accounts = StaxClient("accounts")
response = accounts.ReadAccounts(filter="ACTIVE", include_tags=True)
print(json.dumps(response, indent=4, sort_keys=True))
Contributing
For more information on contributing the to the Stax SDK, please see our guide.
Getting Help
- If you're having trouble using the Stax SDK, please refer to our documentation.
- If you've encountered an issue or found a bug, please open an issue.
- For any other requests, please contact Stax support.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file staxapp-1.3.1.tar.gz
.
File metadata
- Download URL: staxapp-1.3.1.tar.gz
- Upload date:
- Size: 39.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30f419ddc8673139dbdbf914ae6dc3bcce948b7b6906a69b18d692ae4bc6a051 |
|
MD5 | f188c300d02faac585e7a089dd9061ec |
|
BLAKE2b-256 | cc400912385f0232efd8afe42fbbe6d07392fb3ed983f756ceb4cdccc9c5f7ff |
File details
Details for the file staxapp-1.3.1-py3-none-any.whl
.
File metadata
- Download URL: staxapp-1.3.1-py3-none-any.whl
- Upload date:
- Size: 39.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d34238639db50732e67ab7ba0c3e4caa1da7524af44098782c8e29356f216a0 |
|
MD5 | e7c4807e3a042e8ff98529841b252fa5 |
|
BLAKE2b-256 | fd49ed80eda306f1d8c79eb1243428d758d163d545edd321ba0b3445dd8fd1ef |