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