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