1{
2 lib,
3 attrs,
4 boto3,
5 buildPythonPackage,
6 cryptography,
7 fetchPypi,
8 mock,
9 pytest-mock,
10 pytestCheckHook,
11 pythonOlder,
12 setuptools,
13 wrapt,
14}:
15
16buildPythonPackage rec {
17 pname = "aws-encryption-sdk";
18 version = "4.0.1";
19 pyproject = true;
20
21 disabled = pythonOlder "3.8";
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-cyDcTPjY1am0yIo0O+k4NdoYdW4FMI01NlVL4MooiaU=";
26 };
27
28 build-system = [ setuptools ];
29
30 dependencies = [
31 attrs
32 boto3
33 cryptography
34 wrapt
35 ];
36
37 nativeCheckInputs = [
38 mock
39 pytest-mock
40 pytestCheckHook
41 ];
42
43 disabledTestPaths = [
44 # Tests require networking
45 "examples"
46 "test/integration"
47 ];
48
49 disabledTests = [
50 # pytest 8 compat issue
51 "test_happy_version"
52 ];
53
54 pythonImportsCheck = [ "aws_encryption_sdk" ];
55
56 meta = with lib; {
57 description = "Python implementation of the AWS Encryption SDK";
58 homepage = "https://aws-encryption-sdk-python.readthedocs.io/";
59 changelog = "https://github.com/aws/aws-encryption-sdk-python/blob/v${version}/CHANGELOG.rst";
60 license = licenses.asl20;
61 maintainers = with maintainers; [ anthonyroussel ];
62 };
63}