ChatGPT解决这个技术问题 Extra ChatGPT

What is the difference between the AWS boto and boto3

I'm new to AWS using Python and I'm trying to learn the boto API however I noticed that there are two major versions/packages for Python. That would be boto and boto3.

What is the difference between the AWS boto and boto3 libraries?


g
garnaat

The boto package is the hand-coded Python library that has been around since 2006. It is very popular and is fully supported by AWS but because it is hand-coded and there are so many services available (with more appearing all the time) it is difficult to maintain.

So, boto3 is a new version of the boto library based on botocore. All of the low-level interfaces to AWS are driven from JSON service descriptions that are generated automatically from the canonical descriptions of the services. So, the interfaces are always correct and always up to date. There is a resource layer on top of the client-layer that provides a nicer, more Pythonic interface.

The boto3 library is being actively developed by AWS and is the one I would recommend people use if they are starting new development.


In practice AWS services that don't have a Resource layer in boto3 are often easier to handle in boto. YMMV
Boto3 was made generally available on 06/22/2015
P
Peters Monday

Boto is the Amazon Web Services (AWS) SDK for Python. It enables Python developers to create, configure, and manage AWS services, such as EC2 and S3. while Boto3 generates the client from a JSON service definition file. The client’s methods support every single type of interaction with the target AWS service. Resources, on the other hand, are generated from JSON resource definition files. Boto3 generates the client and the resource from different definitions