1{
2 lib,
3 awscrt,
4 boto3,
5 buildPythonPackage,
6 fetchFromGitHub,
7 pytestCheckHook,
8 pythonOlder,
9 setuptools,
10}:
11
12buildPythonPackage rec {
13 pname = "awsiotsdk";
14 version = "1.22.1";
15 pyproject = true;
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "aws";
21 repo = "aws-iot-device-sdk-python-v2";
22 rev = "refs/tags/v${version}";
23 hash = "sha256-Rgae9JzoW+OA4+sP/xdkmX8fbRJCJ7MqIpv81n08uXU=";
24 };
25
26 pythonRelaxDeps = [ "awscrt" ];
27
28 build-system = [ setuptools ];
29
30 dependencies = [ awscrt ];
31
32 nativeCheckInputs = [
33 boto3
34 pytestCheckHook
35 ];
36
37 disabledTestPaths = [
38 # Those tests require a custom loader
39 "servicetests/"
40 ];
41
42 pythonImportsCheck = [ "awsiot" ];
43
44 meta = {
45 description = "Next generation AWS IoT Client SDK for Python using the AWS Common Runtime";
46 homepage = "https://github.com/aws/aws-iot-device-sdk-python-v2";
47 changelog = "https://github.com/aws/aws-iot-device-sdk-python-v2/releases/tag/v${version}";
48 license = lib.licenses.asl20;
49 maintainers = with lib.maintainers; [ fab ];
50 };
51}