Skip to main content

Python AWS Helper Library

Project description

PyAwsHelper

Python AWS Helper Library

AWS Region Helper

Get Boto3 Client and Resource with refreshable session

from PyAwsHelper.boto_helper import BotoHelper

helper = BotoHelper()

# Both client is sharing common refreshable session
s3_client = helper.get_client(service_name="s3", region_name="us-east-1", role_arn="arn:aws:iam::123:role/my_db_role")

db_client = helper.get_client(service_name="dynamodb", region_name="us-east-1", role_arn="arn:aws:iam::123:role/my_db_role")

Use Raw Refreshable session to implement your need

# can use BotoHelper to get session
from PyAwsHelper.boto_helper import BotoHelper
helper = BotoHelper()
s3_client = helper.get_session(region_name="us-east-1", role_arn="arn:aws:iam::123:role/my_db_role")

# or can directly access raw BotoSession module
from PyAwsHelper.boto_session import BotoSession
session = BotoSession().refreshable_session()
client = session.client("s3") # we now can cache this client object without worrying about expiring credentials

Get AWS region from region suffix

from PyAwsHelper.region import Region

aws_region = Region.get_region("va")

>>> aws_region
'us-east-1'

Also supports providing default value

from PyAwsHelper.region import Region

aws_region = Region.get_region("foo", default_region="bar")

>>> aws_region
'bar'

Get region suffix from AWS region

from PyAwsHelper.region import Region

aws_region = Region.get_region_suffix("us-east-1")

>>> aws_region
'va'

Also supports providing default value

from PyAwsHelper.region import Region

aws_region = Region.get_region_suffix("foo", default_region_suffix="bar")

>>> aws_region
'bar'

Regions Config

{
    "hk": "ap-east-1",  # Hong Kong
    "tk": "ap-northeast-1",  # Tokyo
    "se": "ap-northeast-2",  # Seoul
    "os": "ap-northeast-3",  # Osaka-Local
    "mu": "ap-south-1",  # Mumbai
    "sg": "ap-southeast-1",  # Singapore
    "sy": "ap-southeast-2",  # Sydney
    "au": "ap-southeast-2",  # Sydney
    "ce": "ca-central-1",  # Central
    "be": "cn-north-1",  # Beijing
    "ni": "cn-northwest-1",  # Ningxia
    "fr": "eu-central-1",  # Frankfurt
    "st": "eu-north-1",  # Stockholm
    "ir": "eu-west-1",  # Ireland
    "lo": "eu-west-2",  # London
    "pa": "eu-west-3",  # Paris
    "ba": "me-south-1",  # Bahrain
    "sp": "sa-east-1",  # São Paulo
    "va": "us-east-1",  # N. Virginia
    "va-gov": "us-gov-east-1",
    "oh": "us-east-2",  # Ohio
    "ca": "us-west-1",  # N. California
    "nc": "us-west-1",  # N. California
    "ca-gov": "us-gov-west-1",
    "nc-gov": "us-gov-west-1",
    "or": "us-west-2",  # Oregon
}

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

PyAwsHelper-0.0.9.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

PyAwsHelper-0.0.9-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file PyAwsHelper-0.0.9.tar.gz.

File metadata

  • Download URL: PyAwsHelper-0.0.9.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for PyAwsHelper-0.0.9.tar.gz
Algorithm Hash digest
SHA256 4f2cb116750d40437bf6d6b48f0efb253f7e338b847d4eb1c7c379fa8fb4ca98
MD5 96f3e8026126034b5ff508f150ab35cf
BLAKE2b-256 368f8213e4ffd2b611a04a226e2b8a7273c8d61ac4a15a217f88d88d0557a659

See more details on using hashes here.

File details

Details for the file PyAwsHelper-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: PyAwsHelper-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for PyAwsHelper-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 5bd9b3e0864bd693d786b36acd1162be3690a8ea478b05be8c41e62c0a9f4555
MD5 8f18d75ed9ba95e4dd422937a903e715
BLAKE2b-256 f0d703a46075fb4ac47cbcc4cf88dfa4d8e2a5eb77d6390a2868398ca0437fbf

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