nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 attrs,
4 boto3,
5 buildPythonPackage,
6 cryptography,
7 fetchFromGitHub,
8 mock,
9 pytest-mock,
10 pytestCheckHook,
11 setuptools,
12 wrapt,
13}:
14
15buildPythonPackage rec {
16 pname = "aws-encryption-sdk";
17 version = "4.0.3";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "aws";
22 repo = "aws-encryption-sdk-python";
23 tag = "v${version}";
24 hash = "sha256-SlYXob61YLl96NKnmsGZTIU10bfwKYbhLsHjC/tXGI4=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [
30 attrs
31 boto3
32 cryptography
33 wrapt
34 ];
35
36 nativeCheckInputs = [
37 mock
38 pytest-mock
39 pytestCheckHook
40 ];
41
42 enabledTestPaths = [ "test" ];
43
44 disabledTestPaths = [
45 # Tests require networking
46 "examples"
47 "test/integration"
48 # requires yet to be packaged aws-cryptographic-material-providers
49 "test/mpl"
50 ];
51
52 disabledTests = [
53 # pytest 8 compat issue
54 "test_happy_version"
55 ];
56
57 pythonImportsCheck = [ "aws_encryption_sdk" ];
58
59 meta = {
60 description = "Python implementation of the AWS Encryption SDK";
61 homepage = "https://aws-encryption-sdk-python.readthedocs.io/";
62 changelog = "https://github.com/aws/aws-encryption-sdk-python/blob/v${version}/CHANGELOG.rst";
63 license = lib.licenses.asl20;
64 maintainers = with lib.maintainers; [ anthonyroussel ];
65 };
66}