single |
===============================
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 2023-12-13, support for Python 3.7 ended for Boto3. This follows the
Python Software Foundation [end of support]
for the runtime which occurred on 2023-06-27.
For more information, see this [blog post].
:alt: Python Versions
:alt: Package Version
: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
|