1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 aiohttp,
7 aioitertools,
8 botocore,
9 python-dateutil,
10 jmespath,
11 multidict,
12 urllib3,
13 wrapt,
14 dill,
15 moto,
16 pytest-asyncio,
17 time-machine,
18 werkzeug,
19 awscli,
20 boto3,
21 setuptools,
22 pytestCheckHook,
23}:
24
25buildPythonPackage rec {
26 pname = "aiobotocore";
27 version = "2.19.0";
28 pyproject = true;
29
30 disabled = pythonOlder "3.8";
31
32 src = fetchFromGitHub {
33 owner = "aio-libs";
34 repo = "aiobotocore";
35 tag = version;
36 hash = "sha256-8wtWIkGja4zb2OoYALH9hTR6i90sIjIjYWTUulfYIYA=";
37 };
38
39 # Relax version constraints: aiobotocore works with newer botocore versions
40 # the pinning used to match some `extras_require` we're not using.
41 pythonRelaxDeps = [ "botocore" ];
42
43 build-system = [
44 setuptools
45 ];
46
47 dependencies = [
48 aiohttp
49 aioitertools
50 botocore
51 python-dateutil
52 jmespath
53 multidict
54 urllib3
55 wrapt
56 ];
57
58 optional-dependencies = {
59 awscli = [ awscli ];
60 boto3 = [ boto3 ];
61 };
62
63 nativeCheckInputs = [
64 dill
65 moto
66 pytest-asyncio
67 time-machine
68 werkzeug
69 pytestCheckHook
70 ] ++ moto.optional-dependencies.server;
71
72 pythonImportsCheck = [ "aiobotocore" ];
73
74 disabledTestPaths = [
75 # Test requires network access
76 "tests/test_version.py"
77 # Test not compatible with latest moto
78 "tests/boto_tests/unit/test_eventstream.py"
79 "tests/python3.8/test_eventstreams.py"
80 "tests/test_basic_s3.py"
81 "tests/test_batch.py"
82 "tests/test_dynamodb.py"
83 "tests/test_ec2.py"
84 "tests/test_lambda.py"
85 "tests/test_monitor.py"
86 "tests/test_patches.py"
87 "tests/test_sns.py"
88 "tests/test_sqs.py"
89 "tests/test_waiter.py"
90 ];
91
92 __darwinAllowLocalNetworking = true;
93
94 meta = {
95 description = "Python client for amazon services";
96 homepage = "https://github.com/aio-libs/aiobotocore";
97 changelog = "https://github.com/aio-libs/aiobotocore/releases/tag/${src.tag}";
98 license = lib.licenses.asl20;
99 maintainers = with lib.maintainers; [ teh ];
100 };
101}