1{ lib
2, aiohttp
3, aioitertools
4, botocore
5, buildPythonPackage
6, dill
7, fetchFromGitHub
8, moto
9, pytest-asyncio
10, pytestCheckHook
11, pythonOlder
12, wrapt
13}:
14
15buildPythonPackage rec {
16 pname = "aiobotocore";
17 version = "2.4.2";
18 format = "setuptools";
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "aio-libs";
24 repo = pname;
25 rev = "refs/tags/${version}";
26 hash = "sha256-IHVplle73JVLbz9R9uPyleL9Occ723EE9Ogl059TcPg=";
27 };
28
29 # Relax version constraints: aiobotocore works with newer botocore versions
30 # the pinning used to match some `extras_require` we're not using.
31 postPatch = ''
32 sed -i "s/'botocore>=.*'/'botocore'/" setup.py
33 '';
34
35 propagatedBuildInputs = [
36 aiohttp
37 aioitertools
38 botocore
39 wrapt
40 ];
41
42 nativeCheckInputs = [
43 dill
44 moto
45 pytest-asyncio
46 pytestCheckHook
47 ];
48
49 pythonImportsCheck = [
50 "aiobotocore"
51 ];
52
53 disabledTestPaths = [
54 # Tests require network access
55 "tests/boto_tests/test_signers.py"
56 "tests/python3.8/"
57 "tests/test_basic_s3.py"
58 "tests/test_batch.py"
59 "tests/test_dynamodb.py"
60 "tests/test_ec2.py"
61 "tests/test_eventstreams.py"
62 "tests/test_lambda.py"
63 "tests/test_monitor.py"
64 "tests/test_mturk.py"
65 "tests/test_patches.py"
66 "tests/test_sns.py"
67 "tests/test_sqs.py"
68 "tests/test_version.py"
69 "tests/test_waiter.py"
70 ];
71
72 disabledTests = [
73 "test_get_credential"
74 "test_load_sso_credentials_without_cache"
75 "test_load_sso_credentials"
76 "test_required_config_not_set"
77 "test_sso_cred_fetcher_raises_helpful_message_on_unauthorized_exception"
78 "test_sso_credential_fetcher_can_fetch_credentials"
79 ];
80
81 meta = with lib; {
82 description = "Python client for amazon services";
83 homepage = "https://github.com/aio-libs/aiobotocore";
84 changelog = "https://github.com/aio-libs/aiobotocore/releases/tag/${version}";
85 license = licenses.asl20;
86 maintainers = with maintainers; [ teh ];
87 };
88}