Metadata-Version: 2.1
Name: azure-iot-device
Version: 2.1.2
Summary: Microsoft Azure IoT Device Library
Home-page: https://github.com/Azure/azure-iot-sdk-python/tree/master/azure-iot-device
Author: Microsoft Corporation
Author-email: opensource@microsoft.com
License: MIT License
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3*, <4
Description-Content-Type: text/markdown
Requires-Dist: six (<2.0.0,>=1.12.0)
Requires-Dist: paho-mqtt (<2.0.0,>=1.4.0)
Requires-Dist: transitions (<1.0.0,>=0.6.8)
Requires-Dist: requests (<3.0.0,>=2.20.0)
Requires-Dist: requests-unixsocket (<1.0.0,>=0.1.5)
Requires-Dist: PySocks
Requires-Dist: urllib3 (!=1.25.0,!=1.25.1,<1.26,>1.21.1) ; python_version != "3.4"
Requires-Dist: futures ; python_version == "2.7"
Requires-Dist: win-inet-pton ; python_version == "2.7"
Requires-Dist: urllib3 (<1.25,>1.21.1) ; python_version == "3.4"
Requires-Dist: janus (==0.4.0) ; python_version >= "3.5"
Requires-Dist: azure-iot-nspkg (>=1.0.1) ; python_version<'3.0'

# Azure IoT Device SDK

The Azure IoT Device SDK for Python provides functionality for communicating with the Azure IoT Hub for both Devices and Modules.

## Azure IoT Device Features

The SDK provides the following clients:

* ### Provisioning Device Client

  * Creates a device identity on the Azure IoT Hub

* ### IoT Hub Device Client

  * Send telemetry messages to Azure IoT Hub
  * Receive Cloud-to-Device (C2D) messages from the Azure IoT Hub
  * Receive and respond to direct method invocations from the Azure IoT Hub

* ### IoT Hub Module Client

  * Supports Azure IoT Edge Hub and Azure IoT Hub
  * Send telemetry messages to a Hub or to another Module
  * Receive Input messages from a Hub or other Modules
  * Receive and respond to direct method invocations from a Hub or other Modules

These clients are available with an asynchronous API, as well as a blocking synchronous API for compatibility scenarios. **We recommend you use Python 3.7+ and the asynchronous API.**

| Python Version | Asynchronous API | Synchronous API |
| -------------- | ---------------- | --------------- |
| Python 3.5.3+  | **YES**          | **YES**         |
| Python 2.7     | NO               | **YES**         |

## Installation

```Shell
pip install azure-iot-device
```

## Device Samples

Check out the [samples repository](https://github.com/Azure/azure-iot-sdk-python/tree/master/azure-iot-device/samples) for example code showing how the SDK can be used in a variety of scenarios, including:

* Sending multiple telemetry messages at once.
* Receiving Cloud-to-Device messages.
* Using Edge Modules with the Azure IoT Edge Hub.
* Send and receive updates to device twin
* Receive invocations to direct methods
* Register a device with the Device Provisioning Service

## Getting help and finding API docs

Our SDK makes use of docstrings which means you cand find API documentation directly through Python with use of the [help](https://docs.python.org/3/library/functions.html#help) command:

```python
>>> from azure.iot.device import IoTHubDeviceClient
>>> help(IoTHubDeviceClient)
```


