Skip to content

Commit a75b52d

Browse files
committed
Restruct readme
1 parent a8ffa3e commit a75b52d

File tree

2 files changed

+143
-118
lines changed

2 files changed

+143
-118
lines changed

README.md

Lines changed: 78 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,62 @@
1-
# AWS IoT Device SDK v2 for Python
1+
# AWS IoT Device SDK for Python v2
22

33
[![Version](https://img.shields.io/pypi/v/awsiotsdk.svg?style=flat)](https://pypi.org/project/awsiotsdk/)
44

5-
This document provides information about the AWS IoT Device SDK v2 for Python. This SDK is built on the [AWS Common Runtime](https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html)
5+
The AWS IoT Device SDK for Python v2 connects your Python applications and devices to AWS IoT. Built on the AWS Common Runtime, it handles the complexities of secure communication, authentication, and device management so you can focus on your IoT solution. The SDK makes it easy to use AWS IoT services like Device Shadows, Jobs, and Fleet Provisioning.
66

7-
*__Jump To:__*
8-
* [Installation](#installation)
7+
**Supported Platforms**: Linux, Windows, macOS
8+
9+
*__Topics:__*
10+
* [Features](#features)
11+
* [Using SDK](#using-sdk)
12+
* [Getting Started](#getting-started)
913
* [Samples](samples)
10-
* [Mac-Only TLS Behavior](#mac-only-tls-behavior)
11-
* [Getting Help](#getting-help)
12-
* [FAQ](./documents/FAQ.md)
13-
* [API Docs](https://aws.github.io/aws-iot-device-sdk-python-v2/)
1414
* [MQTT5 User Guide](./documents/MQTT5_Userguide.md)
15-
* [Migration Guide from the AWS IoT SDK for Python v1](./documents/MIGRATION_GUIDE.md)
15+
* [Getting Help](#getting-help)
16+
* [Resources](#resources)
17+
18+
## Features
19+
20+
The primary purpose of the AWS IoT Device SDK for Python v2 is to simplify the process of connecting devices to AWS IoT Core and interacting with AWS IoT services on various platforms. The SDK provides:
21+
22+
* Built on the [AWS Common Runtime](https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html) for high performance and minimal footprint
23+
* Secure device connections to AWS IoT Core using MQTT protocol including MQTT 5.0
24+
* Support for [multiple authentication methods and connection types](./documents/MQTT5_Userguide.md#how-to-create-an-mqtt5-client-based-on-desired-connection-method)
25+
* First-class support for AWS IoT Core services
1626

27+
#### Supported AWS IoT Core services
1728

18-
## Installation
29+
* The [AWS IoT Device Shadow](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html) service adds shadows to AWS IoT thing objects.
30+
* The [AWS IoT Jobs](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs.html) allows to define a set of remote operations that can be sent to and run on one or more devices connected to AWS IoT.
31+
* The [AWS IoT fleet provisioning](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html) can generate and securely deliver device certificates and private keys to IoT devices when they connect to AWS IoT for the first time.
32+
33+
## Using SDK
34+
35+
The recommended way to use the AWS IoT Device SDK for Python v2 in your project is to install it from PyPI.
1936

2037
### Minimum Requirements
38+
39+
To develop applications with the AWS IoT Device SDK for Python v2, you need:
40+
2141
* Python 3.8+
2242

23-
[Step-by-step instructions](./documents/PREREQUISITES.md)
43+
See [detailed setup instructions](./documents/PREREQUISITES.md) for more information.
2444

25-
### Install from PyPI
45+
### Installing from PyPI
2646

27-
#### MacOS and Linux:
47+
#### macOS and Linux:
2848

29-
```
49+
```bash
3050
python3 -m pip install awsiotsdk
3151
```
3252

3353
#### Windows:
3454

35-
```
55+
```bash
3656
python -m pip install awsiotsdk
3757
```
3858

39-
### Install from source
59+
### Building from source
4060

4161
```bash
4262
# 1. Create a workspace directory to hold all the SDK files
@@ -46,7 +66,7 @@ cd sdk-workspace
4666
# 2. Clone the repository. You could select the version of the SDK you desire to use.
4767
git clone -b <SDK_VERSION> https://github.com/aws/aws-iot-device-sdk-python-v2.git
4868

49-
# 3. (Optional) Setup the version number of your local build. The default version
69+
# 3. (Optional) Setup the version number of your local build. The default version
5070
# for awsiotsdk is set to "1.0.0-dev", you can set the version number of the
5171
# local build in "aws-iot-device-sdk-python-v2/awsiot/__init__.py"
5272
sed -i "s/__version__ = '1.0.0-dev'/__version__ = '<SDK_VERSION>'/" \
@@ -56,34 +76,62 @@ sed -i "s/__version__ = '1.0.0-dev'/__version__ = '<SDK_VERSION>'/" \
5676
python3 -m pip install ./aws-iot-device-sdk-python-v2
5777
```
5878

79+
## Getting Started
80+
81+
To get started with the AWS IoT Device SDK for Python v2:
82+
83+
1. **Install the SDK** - See the [Using SDK](#using-sdk) section for installation details
84+
85+
2. **Choose your connection method** - The SDK supports multiple authentication methods including X.509 certificates, AWS credentials, and custom authentication
86+
87+
3. **Follow a complete example** - Check out the [samples](samples) directory for working code examples that demonstrate:
88+
- Basic MQTT connection and messaging
89+
- Device Shadow operations
90+
- AWS IoT Jobs
91+
- Fleet provisioning
92+
93+
4. **Learn MQTT5 features** - For advanced usage and configuration options, see the [MQTT5 User Guide](./documents/MQTT5_Userguide.md)
94+
95+
The samples provide ready-to-run code with detailed setup instructions for each authentication method and use case.
96+
5997
## Samples
6098

61-
[Samples README](samples)
99+
Check out the [samples](samples) directory for working code examples that demonstrate:
100+
- Basic MQTT connection and messaging
101+
- AWS IoT Device Shadow operations
102+
- AWS IoT Jobs
103+
- AWS IoT Fleet provisioning
104+
105+
The samples provide ready-to-run code with detailed setup instructions for each authentication method and use case.
62106

63-
### Mac-Only TLS Behavior
107+
## Getting Help
108+
109+
The best way to interact with our team is through GitHub.
110+
* Open [discussion](https://github.com/aws/aws-iot-device-sdk-python-v2/discussions): Share ideas and solutions with the SDK community
111+
* Search [issues](https://github.com/aws/aws-iot-device-sdk-python-v2/issues): Find created issues for answers based on a topic
112+
* Create an [issue](https://github.com/aws/aws-iot-device-sdk-python-v2/issues/new/choose): New feature request or file a bug
113+
114+
If you have a support plan with [AWS Support](https://aws.amazon.com/premiumsupport/), you can also create a new support case.
115+
116+
#### Mac-Only TLS Behavior
64117

65118
Please note that on Mac, once a private key is used with a certificate, that certificate-key pair is imported into the Mac Keychain. All subsequent uses of that certificate will use the stored private key and ignore anything passed in programmatically. Beginning in v1.7.3, when a stored private key from the Keychain is used, the following will be logged at the "info" log level:
66119

67120
```
68121
static: certificate has an existing certificate-key pair that was previously imported into the Keychain. Using key from Keychain instead of the one provided.
69122
```
70123

71-
## Getting Help
72-
73-
The best way to interact with our team is through GitHub. You can open a [discussion](https://github.com/aws/aws-iot-device-sdk-python-v2/discussions) for guidance questions or an [issue](https://github.com/aws/aws-iot-device-sdk-python-v2/issues/new/choose) for bug reports, or feature requests. You may also find help on community resources such as [StackOverFlow](https://stackoverflow.com/questions/tagged/aws-iot) with the tag [#aws-iot](https://stackoverflow.com/questions/tagged/aws-iot) or if you have a support plan with [AWS Support](https://aws.amazon.com/premiumsupport/), you can also create a new support case.
124+
## Resources
74125

75-
Please make sure to check out our resources too before opening an issue:
126+
Check out our resources for additional guidance too before opening an issue:
76127

77128
* [FAQ](./documents/FAQ.md)
129+
* [AWS IoT Core Developer Guide](https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html)
130+
* [MQTT5 User Guide](./documents/MQTT5_Userguide.md)
78131
* [API Docs](https://aws.github.io/aws-iot-device-sdk-python-v2/)
79-
* [IoT Guide](https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html) ([source](https://github.com/awsdocs/aws-iot-docs))
80-
* Check for similar [Issues](https://github.com/aws/aws-iot-device-sdk-python-v2/issues)
81132
* [AWS IoT Core Documentation](https://docs.aws.amazon.com/iot/)
82-
* [Dev Blog](https://aws.amazon.com/blogs/?awsf.blog-master-iot=category-internet-of-things%23amazon-freertos%7Ccategory-internet-of-things%23aws-greengrass%7Ccategory-internet-of-things%23aws-iot-analytics%7Ccategory-internet-of-things%23aws-iot-button%7Ccategory-internet-of-things%23aws-iot-device-defender%7Ccategory-internet-of-things%23aws-iot-device-management%7Ccategory-internet-of-things%23aws-iot-platform)
83-
* Integration with AWS IoT Services such as
84-
[Device Shadow](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html)
85-
and [Jobs](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs.html)
86-
is provided by code that been generated from a model of the service.
133+
* [Dev Blog](https://aws.amazon.com/blogs/iot/category/internet-of-things/)
134+
* [Migration Guide from the AWS IoT SDK for Python v1](./documents/MIGRATION_GUIDE.md)
87135
* [Contributions Guidelines](./documents/CONTRIBUTING.md)
88136

89137
## License

0 commit comments

Comments
 (0)