--- title: "AWS SDK for Python (boto3) With Wasabi" slug: "how-do-i-use-aws-sdk-for-python-boto3-with-wasabi" updated: 2026-10-15T22:03:10Z published: 2026-10-15T22:03:10Z canonical: "docs.wasabi.com/how-do-i-use-aws-sdk-for-python-boto3-with-wasabi" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.wasabi.com/llms.txt > Use this file to discover all available pages before exploring further. # AWS SDK for Python (boto3) With Wasabi [AWS SDK for Python (boto3)](https://aws.amazon.com/sdk-for-python/) has been validated for use with Wasabi. To use the AWS SDK for Python: 1. Install the [AWS SDK for Python using pip](https://aws.amazon.com/sdk-for-python/). 2. Configure an additional [AWS CLI profile for Wasabi](https://docs.wasabi.com/docs/how-do-i-use-aws-cli-with-wasabi) account using the Wasabi keys (optional). In the following IAM and S3 examples, the profile name is set to “Wasabi” in the "~/.aws/credentials" file. While the examples use Wasabi's us-east-1 storage region, you can use another appropriate [Wasabi service URL](https://docs.wasabi.com/docs/what-are-the-service-urls-for-wasabis-different-storage-regions). Refer to the [AWS documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) for additional examples. Send all IAM requests to [iam.wasabisys.com](http://sts.wasabisys.com/). ## Setting the Credentials Set the connection in boto3 via the client method. ```plaintext import boto3 # Use the following code to connect using Wasabi profile from .aws/credentials file # for IAM us-east-1 is the default endpoint. session = boto3.Session(profile_name="wasabi") credentials = session.get_credentials() aws_access_key_id = credentials.access_key aws_secret_access_key = credentials.secret_key iam = boto3.client('',                  endpoint_url='',                  aws_access_key_id=aws_access_key_id,                  aws_secret_access_key=aws_secret_access_key) # Use the following code to connect directly via raw credentials. # iam = boto3.client('', #                    endpoint_url='', #                    aws_access_key_id="", #                    aws_secret_access_key="") ``` ## Connecting to IAM and S3 Endpoints ### IAM ```plaintext import boto3 # Use the following code to connect using Wasabi profile from .aws/credentials file # for IAM us-east-1 is the default endpoint. session = boto3.Session(profile_name="wasabi") credentials = session.get_credentials() aws_access_key_id = credentials.access_key aws_secret_access_key = credentials.secret_key iam = boto3.client('iam',                  endpoint_url='https://iam.wasabisys.com',                  aws_access_key_id=aws_access_key_id,                  aws_secret_access_key=aws_secret_access_key,                  region_name='us-east-1') # Use the following code to connect directly via raw credentials. # for IAM us-east-1 is the default endpoint. # iam = boto3.client('iam', #                    endpoint_url='https://iam.wasabisys.com', #                    aws_access_key_id="", #                    aws_secret_access_key="", #                    region_name='us-east-1') ``` ### S3 ```plaintext import boto3 # Use the following code to connect using Wasabi profile from .aws/credentials file session = boto3.Session(profile_name="wasabi") credentials = session.get_credentials() aws_access_key_id = credentials.access_key aws_secret_access_key = credentials.secret_key s3 = boto3.client('s3',                  endpoint_url='https://s3.wasabisys.com',                  aws_access_key_id=aws_access_key_id,                  aws_secret_access_key=aws_secret_access_key) # Use the following code to connect directly via raw credentials. # s3 = boto3.client('s3', #                   endpoint_url='https://s3.wasabisys.com', #                   aws_access_key_id="", #                   aws_secret_access_key="") ``` ## Creating a User Using IAM ```plaintext import boto3 # Use the following code to connect using Wasabi profile from .aws/credentials file # for IAM us-east-1 is the default endpoint. session = boto3.Session(profile_name="wasabi") credentials = session.get_credentials() aws_access_key_id = credentials.access_key aws_secret_access_key = credentials.secret_key iam = boto3.client('iam',                  endpoint_url='https://iam.wasabisys.com',                  aws_access_key_id=aws_access_key_id,                  aws_secret_access_key=aws_secret_access_key,                  region_name='us-east-1') # Use the following code to connect directly via raw credentials. # for IAM us-east-1 is the default endpoint. # iam = boto3.client('iam', #                    endpoint_url='https://iam.wasabisys.com', #                    aws_access_key_id="", #                    aws_secret_access_key="", #                    region_name='us-east-1') iam.create_user(UserName='') ``` ## Creating a Bucket ```plaintext import boto3 # Use the following code to connect using Wasabi profile from .aws/credentials file session = boto3.Session(profile_name="wasabi") credentials = session.get_credentials() aws_access_key_id = credentials.access_key aws_secret_access_key = credentials.secret_key s3 = boto3.client('s3',                  endpoint_url='https://s3.wasabisys.com',                  aws_access_key_id=aws_access_key_id,                  aws_secret_access_key=aws_secret_access_key) # Use the following code to connect directly via raw credentials. # s3 = boto3.client('s3', #                   endpoint_url='https://s3.wasabisys.com', #                   aws_access_key_id="", #                   aws_secret_access_key="") bucket_name = "" s3.create_bucket(Bucket=bucket_name) ``` ## Uploading an Object to the Bucket ```plaintext import boto3 # Use the following code to connect using Wasabi profile from .aws/credentials file session = boto3.Session(profile_name="wasabi") credentials = session.get_credentials() aws_access_key_id = credentials.access_key aws_secret_access_key = credentials.secret_key s3 = boto3.client('s3',                  endpoint_url='https://s3.wasabisys.com',                  aws_access_key_id=aws_access_key_id,                  aws_secret_access_key=aws_secret_access_key) # Use the following code to connect directly via raw credentials. # s3 = boto3.client('s3', #                   endpoint_url='https://s3.wasabisys.com', #                   aws_access_key_id="", #                   aws_secret_access_key="") file_path = "" bucket_name = "" key_name = "" s3.put_object(Body=file_path, Bucket=bucket_name, Key=key_name) ``` ## Reading an Object From the Bucket ```plaintext import boto3 # Use the following code to connect using Wasabi profile from .aws/credentials file session = boto3.Session(profile_name="wasabi") credentials = session.get_credentials() aws_access_key_id = credentials.access_key aws_secret_access_key = credentials.secret_key s3 = boto3.client('s3',                  endpoint_url='https://s3.wasabisys.com',                  aws_access_key_id=aws_access_key_id,                  aws_secret_access_key=aws_secret_access_key) # Use the following code to connect directly via raw credentials. # s3 = boto3.client('s3', #                   endpoint_url='https://s3.wasabisys.com', #                   aws_access_key_id="", #                   aws_secret_access_key="") bucket_name = "" key_name = "" s3.get_object(Bucket=bucket_name, Key=key_name) ``` ## Deleting the Object From the Bucket ```plaintext import boto3 # Use the following code to connect using Wasabi profile from .aws/credentials file session = boto3.Session(profile_name="wasabi") credentials = session.get_credentials() aws_access_key_id = credentials.access_key aws_secret_access_key = credentials.secret_key s3 = boto3.client('s3',                  endpoint_url='https://s3.wasabisys.com',                  aws_access_key_id=aws_access_key_id,                  aws_secret_access_key=aws_secret_access_key) # Use the following code to connect directly via raw credentials. # s3 = boto3.client('s3', #                   endpoint_url='https://s3.wasabisys.com', #                   aws_access_key_id="", #                   aws_secret_access_key="") bucket_name = "" key_name = "" s3.delete_object(Bucket=bucket_name, Key=key_name) ```