programming interface (API) is, as the name implies, a
programming interface that implements a set of rules
developers and other software systems can use to
interact with a specific application.
As you will see in this chapter and throughout this book,
where there is an API, there is usually also an SDK.
Software developers can, of course, implement and
spend time on developing code to interact with an API
(for example, building their own Python classes and
methods to authenticate, get data from the API, or create
new objects in the API), or they can take advantage of the
SDK, which makes all these objects already available.
Besides offering libraries, tools, documentation, and
sample code, some SDKs also offer their own integrated
development environments (IDEs). For example, the
SDKs available for mobile application development on
Google Android and Apple iOS also make available an
IDE to give developers a complete solution to create, test,
debug, and troubleshoot their applications.
A good SDK has these qualities:
Is easy to use
Is well documented
Has value-added functionality
Integrates well with other SDKs
Has minimal impact on hardware resources
In order to be used by developers, an SDK should be easy
to use and follow best practices for software development
in the programming language for which the SDK was
developed. For example, for Python development, there
are Python Enhancement Proposals (PEPs), which are
documents that provide guidance and spell out best
practices for how Python code should be organized,