@@ -0,0 +1,50 @@
1+{ lib
2+, buildPythonPackage
3+, fetchPypi
4+, botocore
5+, jmespath
6+, s3transfer
7+, futures ? null
8+, docutils
9+, nose
10+, mock
11+, isPy3k
12+}:
13+
14+buildPythonPackage rec {
15+ pname = "boto3";
16+ version = "1.17.97"; # N.B: if you change this, change botocore and awscli to a matching version
17+
18+ src = fetchPypi {
19+ inherit pname version;
20+ sha256 = "0ab5afc51461c30f27aebef944211d16f47697b98ff8d2e2f6e49e59584853bb";
21+ };
22+
23+ propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];
24+ checkInputs = [ docutils nose mock ];
25+
26+ checkPhase = ''
27+ runHook preCheck
28+ # This method is not in mock. It might have appeared in some versions.
29+ sed -i 's/action.assert_called_once()/self.assertEqual(action.call_count, 1)/' \
30+ tests/unit/resources/test_factory.py
31+ nosetests -d tests/unit --verbose
32+ runHook postCheck
33+ '';
34+
35+ # Network access
36+ doCheck = false;
37+
38+ pythonImportsCheck = [ "boto3" ];
39+
40+ meta = {
41+ homepage = "https://github.com/boto/boto3";
42+ license = lib.licenses.asl20;
43+ description = "AWS SDK for Python";
44+ longDescription = ''
45+ Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for
46+ Python, which allows Python developers to write software that makes use of
47+ services like Amazon S3 and Amazon EC2.
48+ '';
49+ };
50+}