boto3 is a free, open source cloud infrastructure management project written in Python and released under Apache-2.0. It has 9,902 GitHub stars, 1,995 forks and 200 open issues, and was last pushed 4 hours ago. On this registry it ranks #18 of 43 tracked projects in Cloud Infrastructure Management, with 5 head-to-head comparisons available. It gained 2 stars over the last 3 tracked days.

What is boto3?

Boto3 is the Amazon Web Services Software Development Kit for Python, letting Python developers write software that uses AWS services such as Amazon S3 and Amazon EC2.

What it is

Boto3 is the official AWS SDK for Python, maintained and published by Amazon Web Services. It ships as a Python package that exposes AWS services to Python code, so a program can list S3 buckets, work with EC2, and use the other services AWS documents in the SDK service list. It is the library that sits between Python application code and the AWS service APIs, and it assumes a supported version of Python on the machine running it.

Within the Python ecosystem it is the successor to the original Boto library, the one written by Mitch Garnaat, whose name came from the fresh water dolphin native to the Amazon river. It solves the problem of talking to AWS services from Python without hand-rolling that integration: instead of writing and maintaining separate request logic per service, a developer imports boto3 and works against a consistent interface. Credentials and region come from configuration files rather than being wired into each call, so the same code moves between accounts and regions.

Key capabilities

  • Service access through a resource interface, for example boto3.resource('s3'), with collection iteration such as s3.buckets.all().
  • Credential configuration from ~/.aws/credentials using aws_access_key_id and aws_secret_access_key.
  • Default region configuration from ~/.aws/config, for example region = us-east-1.
  • Installation from PyPI with python -m pip install boto3, or from source by cloning https://github.com/boto/boto3.git, installing requirements.txt, and running python -m pip install -e ..
  • Test execution across all supported Python versions through tox, with individual runs such as pytest tests/unit or tox -- unit/test_session.py.
  • Documentation published at the AWS doc site, covering the full list of supported services.
  • Released under the Apache-2.0 licence, with the Python version badges and PyPI version badge tracked in the README.

Who uses it and how

  • Python developers building software against AWS, using services such as Amazon S3 and Amazon EC2 as the README illustrates.
  • Cloud and infrastructure teams whose registry topics cover cloud management, AWS, and the AWS SDK.
  • Teams running it inside a virtual environment, set up with python -m venv .venv and activated before installing the package.
  • Contributors and maintainers running the full unit and functional suite with tox, including targeted pytest invocations and specific interpreter environments via tox -e.
  • Users of the source workflow, who clone the repository, install requirements.txt, and work against an editable install.

Getting started

Install with python -m pip install boto3 after activating a virtual environment, or build from source by cloning the repository and running python -m pip install -e .; then set credentials in ~/.aws/credentials and a region in ~/.aws/config.

How it compares

The provided facts name no paid products this project replaces, and they name no similar tools. It stands alone in this registry.

When to use it — and when not to

Boto3 is a client library rather than a service, so a self-hoster operates no database, storage, or SMTP stack on its behalf; the operational dependency is a supported Python runtime and valid AWS credentials and region configuration. Teams not writing Python should look elsewhere, since the SDK exists for Python developers by definition. Support expectations should be set honestly: the maintainers state they use GitHub issues for bugs and feature requests and have limited bandwidth to address them, directing questions to Stack Overflow under the boto3 tag or to an AWS Support ticket, and support for Python 3.9 ended on 2026-04-29 following the Python Software Foundation end of support on 2025-10-31.

project readme (upstream, from github) — read inline

=============================== Boto3 - The AWS SDK for Python

|Version| |Python| |License|

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 __.

.. _boto: https://docs.pythonboto.org/ .. _doc site: https://docs.aws.amazon.com/boto3/latest/ .. _Amazon Web Services: https://aws.amazon.com/what-is-aws/ .. |Python| image:: https://img.shields.io/pypi/pyversions/boto3.svg?style=flat :target: https://pypi.python.org/pypi/boto3/ :alt: Python Versions .. |Version| image:: https://img.shields.io/pypi/v/boto3.svg?style=flat :target: https://pypi.python.org/pypi/boto3/ :alt: Package Version .. |License| image:: https://img.shields.io/pypi/l/boto3.svg?style=flat :target: https://github.com/boto/boto3/blob/develop/LICENSE :alt: License

Getting Started

Assuming that you have a supported version of Python installed, you can first set up your environment with:

.. code-block:: sh

$ python -m venv .venv
...
$ . .venv/bin/activate

Then, you can install boto3 from PyPI with:

.. code-block:: sh

$ python -m pip install boto3

or install from source with:

.. code-block:: sh

$ 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``):

.. code-block:: ini

    [default]
    aws_access_key_id = YOUR_KEY
    aws_secret_access_key = YOUR_SECRET

Then, set up a default region (in e.g. ``~/.aws/config``):

.. code-block:: ini

   [default]
   region = us-east-1

Other credential configuration methods can be found `here `__

Then, from a Python interpreter:

.. code-block:: python

    >>> 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:

.. code-block:: sh

    $ tox
    $ tox -- unit/test_session.py
    $ tox -e py26,py33 -- integration/

You can also run individual tests with your default Python version:

.. code-block:: sh

    $ 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 `__

Frequently asked questions

Is boto3 free to use?

boto3 is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does boto3 do?

AWS SDK for Python (Boto3)

What is boto3 written in?

boto3 is primarily written in Python. Its source is publicly available at https://github.com/boto/boto3, and it has 9,902 GitHub stars.