Boto3 is the Python (Private) SDK for AWS. It's named after the Portuguese name for a species of dolphin native to the Amazon river.


  • Sessions manage configuration state and aren't thread-safe. The boto3 module is a proxy to the default session, and additional sessions can be created using boto3.session.Session.
  • Low-level clients (s3 = boto3.client("s3")) allow direct access to service operations using similarly-named methods and return dictionaries.
    • Paginators (s3.get_paginator("list_objects"))
    • Waiters poll the status of resources, suspending execution until the resource reaches the desired state or a failure occurs polling.
  • Resources (s3 = boto3.resource("s3")) offer higher-level object-oriented abstractions.
    • Collections (buckets = s3.buckets) provide a lazy-loading abstraction over paginated resources and bulk operations:
    • buckets.all()
    • buckets.delete()
    • buckets.filter()