Easy lazy dependency injection for boto3 clients/resources.
Project description
Documentation
📄 Detailed Documentation | 🐍 PyPi
Install
# via pip
pip install xboto
# via poetry
poetry add xboto
Quick Start
Import Boto Client/Resource
# Use imported `dynamodb` just like dynamodb boto resource
from xboto.resource import dynamodb
# Use imported `ssm` just like ssm boto client
from xboto.client import ssm
# These are for overriding/injecting settings.
from xboto import BotoResources, BotoClients, BotoSession
# Can use them like normal:
dynamodb.table(...)
ssm.get_object(...)
# Or you can override settings if you wish:
with BotoResources.DynamoDB(region_name='us-west-2'):
# Use us-west-2 when using dynamodb boto resource:
dynamodb.table(...)
with BotoClients.Ssm(region_name='us-west-2'):
# Use us-west-2 when using ssm boto client:
ssm.get_object(...)
with BotoSession(region_name='us-west-3'):
# Use us-west-3 when using any client/resource
# we are setting it at the boto-session level;
# the session is used by all boto client/resources.
ssm.get_object(...)
# Can use them like decorators as well:
@BotoClients.Ssm(region_name='us-west-2')
def some_method():
ssm.get_object(...)
Grab Any Client/Resource
# Can easily ask these for any client/resource
from xboto import boto_clients, boto_resources
# These are for overriding/injecting settings.
from xboto import BotoResources, BotoClients, BotoSession
# Can use them like normal:
boto_clients.dynamodb.table(...)
boto_resources.ssm.get_object(...)
# Or you can override settings if you wish:
with BotoResources.DynamoDB(region_name='us-west-2'):
# Use us-west-2 when using dynamodb boto resource:
boto_resources.dynamodb.table(...)
with BotoClients.Ssm(region_name='us-west-2'):
# Use us-west-2 when using ssm boto client:
boto_clients.ssm.get_object(...)
with BotoSession(region_name='us-west-3'):
# Use us-west-3 when using any client/resource
# we are setting it at the boto-session level;
# the session is used by all boto client/resources.
boto_clients.ssm.get_object(...)
# Can use them like decorators as well:
@BotoClients.Ssm(region_name='us-west-2')
def some_method():
boto_clients.ssm.get_object(...)
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
xboto-1.0.1.tar.gz
(16.9 kB
view details)
Built Distribution
xboto-1.0.1-py3-none-any.whl
(17.0 kB
view details)
File details
Details for the file xboto-1.0.1.tar.gz
.
File metadata
- Download URL: xboto-1.0.1.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.10.6 Linux/5.15.0-1031-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ff8cf23d6e83ed57649eef548b5ed2d891bf94adac1dcf2e4f676e5952c36eb |
|
MD5 | 8f6825a983c3322fcad7236570997e01 |
|
BLAKE2b-256 | 414ec23d8637b37db2666d93081cd5ef41575e70c739dc8c5fde301904c5845a |
File details
Details for the file xboto-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: xboto-1.0.1-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.10.6 Linux/5.15.0-1031-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | da9b9067a57eba16e202e65bdc334f5b9f325ce8f8a38ab9b6818a645a0be99d |
|
MD5 | 8d3f02f839f720b1e3a84d257307e91c |
|
BLAKE2b-256 | fec25078a82f6394681683f9442fdff9e80e88ff44f9a6d95f88ec6c552c4262 |