1{
2 lib,
3 awscrt,
4 buildPythonPackage,
5 fetchFromGitHub,
6
7 # build-system
8 setuptools,
9
10 # dependencies
11 jmespath,
12 python-dateutil,
13 urllib3,
14
15 # tests
16 jsonschema,
17 pytestCheckHook,
18}:
19
20buildPythonPackage rec {
21 pname = "botocore";
22 version = "1.40.4"; # N.B: if you change this, change boto3 and awscli to a matching version
23 pyproject = true;
24
25 src = fetchFromGitHub {
26 owner = "boto";
27 repo = "botocore";
28 tag = version;
29 hash = "sha256-VJAd9aCJkwSyurAWF/YAVRcSTR+9ZbkH7H6LZGvcXYY=";
30 };
31
32 build-system = [
33 setuptools
34 ];
35
36 dependencies = [
37 jmespath
38 python-dateutil
39 urllib3
40 ];
41
42 nativeCheckInputs = [
43 jsonschema
44 pytestCheckHook
45 ];
46
47 disabledTestPaths = [
48 # Integration tests require networking
49 "tests/integration"
50
51 # Disable slow tests (only run unit tests)
52 "tests/functional"
53 ];
54
55 pythonImportsCheck = [ "botocore" ];
56
57 optional-dependencies = {
58 crt = [ awscrt ];
59 };
60
61 meta = {
62 description = "Low-level interface to a growing number of Amazon Web Services";
63 homepage = "https://github.com/boto/botocore";
64 changelog = "https://github.com/boto/botocore/blob/${version}/CHANGELOG.rst";
65 license = lib.licenses.asl20;
66 maintainers = with lib.maintainers; [ anthonyroussel ];
67 };
68}