Skip to main content

AWS IoT SDK based on the AWS Common Runtime

Project description

AWS IoT Device SDK v2 for Python

Version

This document provides information about the AWS IoT Device SDK v2 for Python.

If you have any issues or feature requests, please file an issue or pull request.

API documentation: https://aws.github.io/aws-iot-device-sdk-python-v2/

This SDK is built on the AWS Common Runtime, a collection of libraries (aws-c-common, aws-c-io, aws-c-mqtt, aws-c-compression, aws-c-http, aws-c-cal, aws-c-auth, s2n ...) written in C to be cross-platform, high-performance, secure, and reliable. The libraries are bound to Python by the awscrt package (PyPI) (Github).

Jump To:

Installation

Minimum Requirements

  • Python 3.7+

Step-by-step instructions

Install from PyPI

MacOS and Linux:

python3 -m pip install awsiotsdk

Windows:

python -m pip install awsiotsdk

Install from source

# 1. Create a workspace directory to hold all the SDK files
mkdir sdk-workspace
cd sdk-workspace

# 2. Clone the repository. You could select the version of the SDK you desire to use.
git clone -b <SDK_VERSION> https://github.com/aws/aws-iot-device-sdk-python-v2.git

# 3. (Optional) Setup the version number of your local build. The default version for awsiotsdk is set to "1.0.0-dev", you can set the version number of the local build in "aws-iot-device-sdk-python-v2/awsiot/__init__.py"
sed -i "s/__version__ = '1.0.0-dev'/__version__ = '<SDK_VERSION>'/" aws-iot-device-sdk-python-v2/awsiot/__init__.py

# 4. Install using Pip (use 'python' instead of 'python3' on Windows)
python3 -m pip install ./aws-iot-device-sdk-python-v2

Installation Issues

awsiotsdk depends on awscrt, which makes use of C extensions. Precompiled wheels are downloaded when installing on major platforms (Mac, Windows, Linux, Raspberry Pi OS). If wheels are unavailable for your platform, your machine must compile some C libraries. For example:

# 1. Create a workspace directory to hold all the CRT files
mkdir crt-workspace
cd crt-workspace

# 2. Clone the repository, you could select the version you would like to use. You can find the awscrt version used by the current SDK from the file "./aws-iot-device-sdk-python-v2/setup.py". Update the version number in "./aws-iot-device-sdk-python-v2/setup.py" can change the awscrt version you would like to use in awsiotsdk
git clone -b <CRT_VERSION> https://github.com/awslabs/aws-crt-python.git

# 3. Update the submodules
cd aws-crt-python
git submodule update --init --recursive

# 4. (Optional) Setup the version number of your local build. Similar to the awsiotsdk, the default version for awscrt is set to "1.0.0-dev", you can set the version number of the local build in "./aws-crt-python/awscrt/__init__.py". The awscrt version set here need to match the version specified in "./aws-iot-device-sdk-python-v2/setup.py" so that the awsiotsdk could locate the correct awscrt library.
sed -i "s/__version__ = '1.0.0.dev0'/__version__ = '<CRT_VERSION>'/" awscrt/__init__.py

# 5. Install using Pip
python3 -m pip install .

If you need aws-crt-python to use the libcrypto included on your system, set environment variable AWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO=1 while building from source:

AWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO=1 python3 -m pip install --no-binary :all: --verbose awscrt

( --no-binary :all: ensures you do not use the precompiled wheel from PyPI)

If you encounter issues, see Installation Issues and try again.

Samples

Samples README

Getting Help

The best way to interact with our team is through GitHub. You can open an issue and choose from one of our templates for guidance, bug reports, or feature requests. You may also find help on community resources such as StackOverFlow with the tag #aws-iot or If you have a support plan with AWS Support, you can also create a new support case.

Please make sure to check out our resources too before opening an issue:

Giving Feedback and Contributions

We need your help in making this SDK great. Please participate in the community and contribute to this effort by submitting issues, participating in discussion forums and submitting pull requests through the following channels.

License

This library is licensed under the Apache 2.0 License.

Latest released version: v1.16.0

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

awsiotsdk-1.16.0.tar.gz (78.2 kB view details)

Uploaded Source

Built Distribution

awsiotsdk-1.16.0-py3-none-any.whl (74.3 kB view details)

Uploaded Python 3

File details

Details for the file awsiotsdk-1.16.0.tar.gz.

File metadata

  • Download URL: awsiotsdk-1.16.0.tar.gz
  • Upload date:
  • Size: 78.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for awsiotsdk-1.16.0.tar.gz
Algorithm Hash digest
SHA256 4769d6dc06ade3eebe72497b0e9c45d75a2af4592e37e3ce4c4c8de563cdc4dc
MD5 cd1e67aff40600ad3f6735a2b3e8a20f
BLAKE2b-256 1b3b3481eb381e04a6d508ea921119e30ee48d9d1188ceb2d44c866306a46715

See more details on using hashes here.

File details

Details for the file awsiotsdk-1.16.0-py3-none-any.whl.

File metadata

  • Download URL: awsiotsdk-1.16.0-py3-none-any.whl
  • Upload date:
  • Size: 74.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for awsiotsdk-1.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e0f1d66d005b1ec0dc51692627f4069d4700e5c5b9820b1fa58bf644fedd4dc4
MD5 9c4e15a9fd25120e06fd976f9312fdf2
BLAKE2b-256 1207e670a8f8312ef59acb3228b24298254d9b1bec760d5f2dfd0a90e6241981

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page