Skip to main content

Bolt Python SDK

Project description

Bolt SDK

This SDK provides an authentication solution for programatically interacting with Bolt. It wraps the boto3 interface so project wide integration is as easy as refactoring import boto3 to import bolt as boto3.

The package affects the signing and routing protocol of the boto3 S3 client, therefore any non S3 clients created through this SDK will be un-affected by the wrapper.

Prerequisites

The minimum supported version of Python is version 3.

Installation

python3 -m pip install bolt-sdk

Configuration

For the client to work it must have knowledge of Bolt's service discovery url (BOLT_URL) These are parameterized by the region of Bolt's deployment. A preferred availability zone ID can also be provided for AZ-aware routing.

There are two ways to expose Bolt's URL to the SDK:

  1. Declare the ENV variable: BOLT_CUSTOM_DOMAIN, which constructs Bolt URL and hostname based on default naming
export BOLT_CUSTOM_DOMAIN="example.com"
  1. Directly declare the ENV variables: BOLT_URL BOLT_URL must be formatted as follows:

https://<subdomain>{region}<domain>

An example is:

https://bolt.{region}.google.com

Where the {region} within the URL is a string literal placeholder that will be replaced by the python sdk

export BOLT_URL="<url>"

There are two ways to expose Bolt's region/preferred availability zone to the SDK:

  1. If running on an EC2 instance the SDK will by default use that instance's region and zone ID
  2. With the ENV variables: AWS_REGION and AWS_ZONE_ID.
export AWS_REGION='<region>'
export AWS_ZONE_ID='<az-id>'

Debugging

Import the default logger and set its level to DEBUG

logging.getLogger().setLevel(logging.DEBUG)

Tests

Basic integration tests are provided for the modified Session/Client interfaces. They must be run in an environment with a properly configured Bolt deployment accessible.

python3 tests/tests.py

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

bolt-sdk-2.1.7.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

bolt_sdk-2.1.7-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file bolt-sdk-2.1.7.tar.gz.

File metadata

  • Download URL: bolt-sdk-2.1.7.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for bolt-sdk-2.1.7.tar.gz
Algorithm Hash digest
SHA256 8f49b6e93805b14a01adb877f9709078e79e8120196c2ecabb7019108f415c36
MD5 b8e88529aeea75d82211e69029851d59
BLAKE2b-256 ec79f94a376b6ad3171469f34dd9876505a24f6b582ecb147002358130eea631

See more details on using hashes here.

File details

Details for the file bolt_sdk-2.1.7-py3-none-any.whl.

File metadata

  • Download URL: bolt_sdk-2.1.7-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for bolt_sdk-2.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f444befeca5453e976b8eb557479be7c50c9f6e263374dc38e39dae1450bb982
MD5 85d0eabeb2b187fcc69be341c40d2b8e
BLAKE2b-256 2289b34e7d722e70601d9770d0c67bb00d7b996860fea7f20e1a7691939ae76e

See more details on using hashes here.

Supported by

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