Skip to main content

Python package for forrasdk

Project description

Forra SDK Package

Helper python package to interact with the Forra platform.

Installation

pip install forrasdk

Usage

from forrasdk import ForraAPI

forra = ForraAPI(base_url="your_forra_base_url", api_access_token="you_api_access_token")

Retry Logic

The SDK automatically retries failed API requests with exponential backoff to handle transient failures. This improves reliability when dealing with network issues or temporary server problems.

Default Behavior

  • Max attempts: 3 (initial request + 2 retries)
  • Wait time: Exponential backoff with multiplier=1, min=4s, max=10s
  • Retry on:
    • Rate limiting (429)
    • Server errors (500, 502, 503, 504)
    • Network errors (ConnectionError, Timeout)
  • Does NOT retry on:
    • Client errors (400, 401, 403, 404, etc.)
    • Successful responses

How It Works

All HTTP methods (GET, POST, PUT, DELETE, PATCH) in the SDK automatically retry on transient failures:

from forrasdk import ForraAPI

forra = ForraAPI(base_url="your_url", api_access_token="your_token")

# This request will automatically retry up to 3 times on 5xx errors
response = forra.chat.completion(messages="Hello!")

The retry logic is transparent - you don't need to change your code. If a request fails with a retryable error, the SDK will:

  1. Wait with exponential backoff (4s, then 8s, then 10s max)
  2. Retry the request
  3. Return the result if successful, or raise the exception after exhausting retries

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

forrasdk-0.3.10.tar.gz (414.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

forrasdk-0.3.10-py3-none-any.whl (490.3 kB view details)

Uploaded Python 3

File details

Details for the file forrasdk-0.3.10.tar.gz.

File metadata

  • Download URL: forrasdk-0.3.10.tar.gz
  • Upload date:
  • Size: 414.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for forrasdk-0.3.10.tar.gz
Algorithm Hash digest
SHA256 3611d5bbcf7fbc81473beed991d2d301e3f8eb71b8e78dced7d3a16144cf75a9
MD5 aa34e82d2deec93351c422437f375564
BLAKE2b-256 7e33e81fabdc7cf4eefeb41a4a70535e0ad1f1756697f8b14ad7c83633313538

See more details on using hashes here.

Provenance

The following attestation bundles were made for forrasdk-0.3.10.tar.gz:

Publisher: publish-forrasdk.yml on mirego/mirego-scout

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file forrasdk-0.3.10-py3-none-any.whl.

File metadata

  • Download URL: forrasdk-0.3.10-py3-none-any.whl
  • Upload date:
  • Size: 490.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for forrasdk-0.3.10-py3-none-any.whl
Algorithm Hash digest
SHA256 877af69a81b3c46ce72785d31e26c1b18bf96679f5ff8ae7664a98bdb869f203
MD5 0ced706dc5894b550fdd8452eb75c5c8
BLAKE2b-256 6578d293fcff1a5e723d7d300718b67c3b9828a7bd5388ee07bbb8edf1d1f25e

See more details on using hashes here.

Provenance

The following attestation bundles were made for forrasdk-0.3.10-py3-none-any.whl:

Publisher: publish-forrasdk.yml on mirego/mirego-scout

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page