Boto3, the next version of Boto, is now stable and recommended for general use. It can be used side-by-side with Boto in the same project, so it is easy to start using Boto3 in your existing projects as well as new projects. Going forward, API updates and all new feature work will be focused on Boto3.
To assist users who still depend on Boto and cannot immediately switch over, we will be triaging and addressing critical issues and PRs in Boto in the short term. As more users make the switch to Boto3, we expect to reduce our maintenance involvement over time. If we decide on a cutoff date or any significant changes to our maintenance plan, we will make pre-announcements well ahead of schedule to allow ample time for our users to adapt/migrate.
Boto is a Python package that provides interfaces to Amazon Web Services. Currently, all features work with Python 2.6 and 2.7. Work is under way to support Python 3.3+ in the same codebase. Modules are being ported one at a time with the help of the open source community, so please check below for compatibility with Python 3.3+.
To port a module to Python 3.3+, please view our Contributing Guidelines and the Porting Guide. If you would like, you can open an issue to let others know about your work in progress. Tests must pass on Python 2.6, 2.7, 3.3, and 3.4 for pull requests to be accepted.
At the moment, boto supports:
- Amazon Elastic Compute Cloud (EC2) (Python 3)
- Amazon Elastic Map Reduce (EMR) (Python 3)
- AutoScaling (Python 3)
- Amazon Kinesis (Python 3)
- AWS Lambda (Python 3)
- Amazon EC2 Container Service (Python 3)
- Content Delivery
- Amazon CloudFront (Python 3)
- Amazon Relational Data Service (RDS)
- Amazon DynamoDB (Python 3)
- Amazon SimpleDB (Python 3)
- Amazon ElastiCache (Python 3)
- Amazon Redshift (Python 3)
- Deployment and Management
- AWS Elastic Beanstalk (Python 3)
- AWS CloudFormation (Python 3)
- AWS Data Pipeline (Python 3)
- AWS Opsworks (Python 3)
- AWS CloudTrail (Python 3)
- AWS CodeDeploy (Python 3)
- Administration & Security
- AWS Identity and Access Management (IAM) (Python 3)
- AWS Key Management Service (KMS) (Python 3)
- AWS Config (Python 3)
- AWS CloudHSM (Python 3)
- Application Services
- Amazon CloudSearch (Python 3)
- Amazon CloudSearch Domain (Python 3)
- Amazon Elastic Transcoder (Python 3)
- Amazon Simple Workflow Service (SWF) (Python 3)
- Amazon Simple Queue Service (SQS) (Python 3)
- Amazon Simple Notification Server (SNS) (Python 3)
- Amazon Simple Email Service (SES) (Python 3)
- Amazon Cognito Identity (Python 3)
- Amazon Cognito Sync (Python 3)
- Amazon Machine Learning (Python 3)
- Amazon CloudWatch (EC2 Only) (Python 3)
- Amazon CloudWatch Logs (Python 3)
- Amazon Route53 (Python 3)
- Amazon Route 53 Domains (Python 3)
- Amazon Virtual Private Cloud (VPC) (Python 3)
- Elastic Load Balancing (ELB) (Python 3)
- AWS Direct Connect (Python 3)
- Payments and Billing
- Amazon Flexible Payment Service (FPS)
- Amazon Simple Storage Service (S3) (Python 3)
- Amazon Glacier (Python 3)
- Amazon Elastic Block Store (EBS)
- Google Cloud Storage
- Amazon Mechanical Turk
- Marketplace Web Services (Python 3)
- AWS Support (Python 3)
The goal of boto is to support the full breadth and depth of Amazon Web Services. In addition, boto provides support for other public services such as Google Storage in addition to private cloud systems like Eucalyptus, OpenStack and Open Nebula.
Boto is developed mainly using Python 2.6.6 and Python 2.7.3 on Mac OSX and Ubuntu Maverick. It is known to work on other Linux distributions and on Windows. Most of Boto requires no additional libraries or packages other than those that are distributed with Python. Efforts are made to keep boto compatible with Python 2.5.x but no guarantees are made.
Install via pip:
$ pip install boto
Install from source:
$ git clone git://github.com/boto/boto.git $ cd boto $ python setup.py install
To see what has changed over time in boto, you can check out the release notes at http://docs.pythonboto.org/en/latest/#release-notes
Finding Out More About Boto
Online documentation is also available. The online documentation includes full API documentation as well as Getting Started Guides for many of the boto modules.
Boto releases can be found on the Python Cheese Shop.
Join our IRC channel #boto on FreeNode. Webchat IRC channel: http://webchat.freenode.net/?channels=boto
Join the boto-users Google Group.
Getting Started with Boto
Your credentials can be passed into the methods that create connections. Alternatively, boto will check for the existence of the following environment variables to ascertain your credentials:
AWS_ACCESS_KEY_ID - Your AWS Access Key ID
AWS_SECRET_ACCESS_KEY - Your AWS Secret Access Key
Credentials and other boto-related settings can also be stored in a boto config file. See this for details.