Skip to main content

API client that automatically handles token refresh

Project description

OpenRelik API Client

This Python package provides a simple API client (APIClient) that automatically handles token refresh on 401 (Unauthorized) responses.

  • Automatic token refresh: Seamlessly refreshes expired access tokens using a refresh token.
  • Easy-to-use interface: Simple methods for common HTTP requests (GET, POST, PUT, DELETE).
  • Customizable: Allows you to specify the API server URL, API key, and API version.

Installation

pip install openrelik-api-client

Example:

 import os
 from openrelik_api_client.api_client import APIClient

 # Initialize the API client
 api_server_url = "http://localhost:8710"

 # API key from environment variable
 api_key = os.getenv("OPENRELIK_API_KEY")

 # Create the API client. It will handle token refreshes automatically.
 api_client = APIClient(api_server_url, api_key)

 # Example GET request
 response = api_client.get("/users/me/")
 print(response.json())

How it works:

The APIClient utilizes a custom session class (TokenRefreshSession) that intercepts requests and checks for 401 responses. If a 401 response is encountered, it automatically attempts to refresh the access token using the provided refresh token. If the refresh is successful, the original request is retried with the new access token.

Obligatory Fine Print

This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.

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

openrelik_api_client-0.4.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

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

openrelik_api_client-0.4.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file openrelik_api_client-0.4.0.tar.gz.

File metadata

  • Download URL: openrelik_api_client-0.4.0.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openrelik_api_client-0.4.0.tar.gz
Algorithm Hash digest
SHA256 da13b8c56e8bc7fd9c82a283c67f5a05ac2d5bc4d90bc3929a5cbf0de784e913
MD5 a311da4c702bc910a75f54307784e0e5
BLAKE2b-256 71474dd3d1de822e1e67fa1c10c93a4572f1f5394d41de5e626272be92884e76

See more details on using hashes here.

Provenance

The following attestation bundles were made for openrelik_api_client-0.4.0.tar.gz:

Publisher: publish-pypi.yml on openrelik/openrelik-api-client

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

File details

Details for the file openrelik_api_client-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for openrelik_api_client-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a74b53b10561ffc729a0d967b75df91d19d94fdb071e03c1fc741e8761da9e5a
MD5 37d4ffca6fbf45ce2e0aeaf06ffaade2
BLAKE2b-256 fa98577bee9aff95ec6b3393a525072c0222a65bb72267b2a2541c473de874d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for openrelik_api_client-0.4.0-py3-none-any.whl:

Publisher: publish-pypi.yml on openrelik/openrelik-api-client

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