HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
boto
boto3
Python2013–2026
boto / boto3

boto3

AWS SDK for Python (Boto3)

24Distinct people
25Mentions
0Explicit recommenders
9.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

AWS SDK for Python (Boto3)

GitHub

Where it is used

  • Home Assistant — The Amazon Polly integration works with Amazon Polly to create the spoken output. The integration calls boto3.setup_default_session. Source
  • Home Assistant — With the AWS Route53 integration can you keep your AWS Route53 DNS records up to date. The integration calls boto3.client. Source

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year25 dated mentions

Observed mentions: 2013-11-06 15:27:17 UTC to 2026-05-25 22:01:29 UTC.

0123452013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC101
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC505
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC404
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC202
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC312
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC110
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC404
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Boto3 - The AWS SDK for Python Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for Python, which allows Python developers to write software that makes use of services like Amazon S3 and Amazon EC2. You can find the latest, most up to date, documentation at our doc site, including a list of services that are supported. Boto3 is maintained and published by Amazon Web Services. Boto (pronounced boh-toh) was named after the fresh water dolphin native to the Amazon river. The name was chosen by the author of the original Boto library, Mitch Garnaat, as a reference to the company. Notices On 2026-04-29, support for Python 3.9 ended for Boto3. This follows the Python Software Foundation end of support for the runtime which occurred on 2025-10-31. For more information on deprecations, see this blog post. Getting Started Assuming that you have a supported version of Python installed, you can first set up your environment with: $ python -m venv .venv ... $ . .venv/bin/activate Then, you can install boto3 from PyPI with: $ python -m pip install boto3 or install from source with: $ git clone https://github.com/boto/boto3.git $ cd boto3 $ python -m pip install -r requirements.txt $ python -m pip install -e . Using Boto3 After installing boto3 Next, set up credentials (in e.g. ~/.aws/credentials): [default] aws_access_key_id = YOUR_KEY aws_secret_access_key = YOUR_SECRET Then, set up a default region (in e.g. ~/.aws/config): [default] region = us-east-1 Other credential configuration methods can be found here Then, from a Python interpreter: >>> import boto3 >>> s3 = boto3.resource('s3') >>> for bucket in s3.buckets.all(): print(bucket.name) Running Tests You can run tests in all supported Python versions using tox. By default, it will run all of the unit and functional tests, but you can also specify your own pytest options. Note that this requires that you have all supported versions of Python installed, otherwise you must pass -e or run the pytest command directly: $ tox $ tox -- unit/test_session.py $ tox -e py26,py33 -- integration/ You can also run individual tests with your default Python version: $ pytest tests/unit Getting Help We use GitHub issues for tracking bugs and feature requests and have limited bandwidth to address them. Please use these community resources for getting help: Ask a question on Stack Overflow and tag it with boto3 Open a support ticket with AWS Support If it turns out that you may have found a bug, please open an issue Contributing We value feedback and contributions from our community. Whether it's a bug report, new feature, correction, or additional documentation, we welcome your issues and pull requests. Please read through this CONTRIBUTING document before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your contribution. Maintenance and Support for SDK Major Versions Boto3 was made generally available on 06/22/2015 and is currently in the full support phase of the availability life cycle. For information about maintenance and support for SDK major versions and their underlying dependencies, see the following in the AWS SDKs and Tools Shared Configuration and Credentials Reference Guide: AWS SDKs and Tools Maintenance Policy AWS SDKs and Tools Version Support Matrix More Resources NOTICE Changelog License
Read the full README on GitHub

What Hacker News says

25 sources
> having to remember where they were, what their names were, and what was installed into each one was a pain point for me. It's at the project root, it's named 'venv', and its contents are described by requirements.txt. > You're saying you see people complain about it a lot - therefore it's a genuine problem. Debatable as a principle, but applicable enough here I suppose. Still, I'm not saying the problems aren't real, but what I (and probably most of us virtualenv users) are saying is that there's a pretty broad swathe of projects where you don't encounter them. It's just fine. You install your packages and use your packages and that's the whole story. I guess if you have a hard dependency on a particular version of python, it's going to be harder, but... why? That's already niche in my book. If you're saying the AWS repo was pinned to a
Read the rest
particular version of python, I'm going to blame that on Amazon frankly. That's definitely bizarre. Edit: Were you looking at this? https://github.com/boto/boto3 Definitely more complicated than a typical greenfield virtualenv-able project, with some python version restrictions.
In Migrating from Go to Rust
I got bit by this a month ago. You can disable the new behavior by setting 2 environment variables export AWS_REQUEST_CHECKSUM_CALCULATION=when_required export AWS_RESPONSE_CHECKSUM_CALCULATION=when_required or adding the following 2 lines to a profile in ~/.aws/config request_checksum_calculation=when_required response_checksum_validation=when_required Or just pin your AWS SDK to version before the following. <https://github.com/aws/aws-sdk-go-v2/blob/release-2025-01-15...> <https://github.com/boto/boto3/issues/4392> <https://github.com/aws/aws-cli/blob/1.37.0/CHANGELOG.rst#L19> <https://github.com/aws/aws-cli/blob/2.23.0/CHANGELOG.rst#223...> <https://github.com/aws/aws-sdk-java-v2/releases/tag/2.30.0> <https://github.com/aws/aws-sdk-net/releases/tag/3.7.963.0> <https://github.com/aws/aws-sdk-php/releases/tag/3.337.0> and wai
Read the rest
t for your S3 Compatible Object store to add a fix to support this.
In AWS S3 SDK breaks its compatible services
> the AWS team has implemented it poorly by enforcing it This is whiny and just wrong. Best behavior by default is always the right choice for an SDK. Libraries/tools/clients/SDKs break backwards compatibility all the time. That's exactly what semver version pinning is for, and that's a fundamental feature of every dependency management system. AWS handled this exactly right IMO. Change was introduced in Python SDK version 1.36.0 which clearly indicatesbreaking API changes, and their changelog also explicitly mentions this new default api-change:``s3``: [``botocore``] This change enhances integrity protections for new SDK requests to S3. S3 SDKs now support the CRC64NVME checksum algorithm, full object checksums for multipart S3 objects, and new default integrity protections for S3 requests. https://github.com/boto/boto3/blob/2e2eac
Read the rest
In AWS S3 SDK breaks its compatible services
Heads up: This is/was a breaking change for folks using this with S3 compatible (but not S3) target storage systems. Related: Latest AWS SDK/CLI incompatible with S3 alternatives - https://news.ycombinator.com/item?id=42740910 - Jan 2025 Config hotfix: https://github.com/boto/boto3/issues/4400#issuecomment-26007... s3_client = boto3.client( 's3', endpoint_url=os.getenv('S3_ENDPOINT'), config=Config(request_checksum_calculation="when_required", response_checksum_validation="when_required") )
In Announcement: S3 Default Integrity Change
I found an issue while developing a Python project that existing Botocore cannot work in asynchronous mode: 1) app starts to consume a lot of RAM 2) coroutines actually stop working (something blocking inside), so your app just can't be asynchronous. There is lib called "aiobotocore", but in reality it's not "aio"! Related issues: https://github.com/boto/boto3/issues/1670 https://github.com/aio-libs/aiobotocore/issues/940 https://github.com/aio-libs/aiobotocore/issues/970 So I decided to do small investigation and try to implement my own library. Good news - Amazon SQS API is well documented, so no extra reverse engineering is needed. I just took aiohttp and implemented it "as is". It does not support all SQS methods for now, just core one: auth by keys, get_queue_url, send_message, receive_message, delete_message. P.S. I use it in my int
Read the rest
ernal project related to crypto-trading: services communicate using SQS and there is an asynchronous worker to perform trade operations.
In Asynchronous Python lib to work with Amazon SQS
We've experienced agent crashes in the past but those seem to have been resolved now. Occasionally we will find a docker container from an old task which is still running, but about which ECS knows nothing. Definitely can make for an interesting troubleshooting adventure. And it seems like maybe the ECS team is trying to move a little too fast recently. They released this blog which claims the run-task api supports several new override parameters but the backend still doesn't actually do anything with them it just silently ignores them. https://aws.amazon.com/about-aws/whats-new/2017/06/amazon-ec... https://github.com/boto/boto3/issues/1184
In Ask HN: Are you using AWS ECS in production?

Ask HK: How do I report bugs in AWS services without paying for support?

A couple of weeks ago AWS released a blog post which claims that the ECS run-task API now supports overriding memory and cpu quotas, boto3 has been updated to accept and validate the new parameters, but they are ignored by the ECS backend. Does anyone know how to report this without paying for business support? I would rather not upgrade to pay for it to report a bug in an AWS service, as I've tried to do so in the past and AWS support simply let the ticket expire without a resolution. https://aws.amazon.com/about-aws/whats-new/2017/06/amazon-ecs-runtask-and-starttas… https://github.com/boto/boto3/issues/1184
1 points · Open discussion
I feel like boto3 (Python) is a good place to start. I've used Boto 2.x quite a bit and it's fine as well. https://boto3.readthedocs.io/ Boto is actually quite a weird library in that the services are generated — defined as json files and the service classes are instantiated dynamically at runtime from these json files (as opposed to being defined in Python classes). For example, this is the definition of the S3 service [1]. You might have noticed that the official AWS clients break normal Python naming conventions and this is the reason why, that said, it's a unique approach that leads to a lot less code to maintain. [1]: https://github.com/boto/boto3/blob/develop/boto3/data/s3/200...
In Ask HN: Which language for interacting with AWS?

Showing the 15 most recent of 25 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.