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.
First, install the library and set a default region:
$ pip install 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
Then, from a Python interpreter:
>>> import boto3
>>> s3 = boto3.resource('s3')
>>> for bucket in s3.buckets.all():
print(bucket.name)
Assuming that you have Python and virtualenv
installed, set up your
environment and install the required dependencies like this instead of
the pip install boto3
defined above:
$ git clone https://github.com/boto/boto3.git
$ cd boto3
$ virtualenv venv
...
$ . venv/bin/activate
$ pip install -r requirements.txt
$ pip install -e .
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
nosetests
options. Note that this requires that you have all supported
versions of Python installed, otherwise you must pass -e
or run the
nosetests
command directly:
$ tox
$ tox -- unit/test_session.py
$ tox -e py26,py33 -- integration/
You can also run individual tests with your default Python version:
$ nosetests tests/unit
Sphinx is used for documentation. You can generate HTML locally with the following:
$ pip install -r requirements-docs.txt
$ cd docs
$ make html
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
- Come join the AWS Python community chat on gitter
- Open a support ticket with AWS Support
- If it turns out that you may have found a bug, please open an issue