// the find
boto/boto3
Boto3, an AWS SDK for Python
Boto3 is the official AWS SDK for Python, maintained by Amazon. It covers the full AWS service catalog and is the standard way Python code talks to AWS — if you're running anything on AWS and writing Python, you're almost certainly using this.
The resource API (s3.resource('s3'), ec2.resource('ec2')) is genuinely nicer than raw HTTP wrappers — it gives you object-oriented access with automatic pagination built into collections. Waiters are well-designed: polling for an EC2 instance to reach 'running' state is a one-liner instead of a retry loop you write yourself. The credential chain (env vars → ~/.aws/credentials → instance profile → ECS task role) just works and covers the common deployment scenarios without configuration. Active maintenance with near-daily releases means new AWS services and API changes land quickly.
The client/resource duality is a mess — some services only have a client, some have both, and the resource API was quietly soft-deprecated years ago with no clear migration path. Type stubs (boto3-stubs / mypy_boto3_builder) are a separate install from a third party, so autocomplete and type checking are an afterthought. Error handling is stringly typed: you catch botocore.exceptions.ClientError and then check error['Error']['Code'] == 'NoSuchKey', which means typos in error code strings are silent bugs. Async support doesn't exist in boto3 itself — you need aiobotocore or aioboto3, which lag behind the main releases.