1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8
9 # dependencies
10 botocore,
11 jmespath,
12 s3transfer,
13
14 # tests
15 pytest-xdist,
16 pytestCheckHook,
17}:
18
19buildPythonPackage rec {
20 pname = "boto3";
21 inherit (botocore) version; # N.B: botocore, boto3, awscli needs to be updated in lockstep, bump botocore version for updating these.
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "boto";
26 repo = "boto3";
27 tag = version;
28 hash = "sha256-+3UcnKgDIA9PPELnB70La+Lo03SMouVLzvLQ9zyFGsE=";
29 };
30
31 build-system = [
32 setuptools
33 ];
34
35 dependencies = [
36 botocore
37 jmespath
38 s3transfer
39 ];
40
41 nativeCheckInputs = [
42 pytest-xdist
43 pytestCheckHook
44 ];
45
46 pythonImportsCheck = [ "boto3" ];
47
48 disabledTestPaths = [
49 # Integration tests require networking
50 "tests/integration"
51 ];
52
53 optional-dependencies = {
54 crt = botocore.optional-dependencies.crt;
55 };
56
57 meta = {
58 description = "AWS SDK for Python";
59 homepage = "https://github.com/boto/boto3";
60 changelog = "https://github.com/boto/boto3/blob/${version}/CHANGELOG.rst";
61 license = lib.licenses.asl20;
62 longDescription = ''
63 Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for
64 Python, which allows Python developers to write software that makes use of
65 services like Amazon S3 and Amazon EC2.
66 '';
67 maintainers = with lib.maintainers; [ anthonyroussel ];
68 };
69}