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