1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchPypi
5, setuptools-scm
6, botocore
7, pytestCheckHook
8}:
9
10buildPythonPackage rec {
11 pname = "aws_secretsmanager_caching";
12 version = "1.1.1.5";
13 format = "setuptools";
14
15 disabled = pythonOlder "3.7";
16
17 src = fetchPypi {
18 inherit pname version;
19 sha256 = "5cee2762bb89b72f3e5123feee8e45fbe44ffe163bfca08b28f27b2e2b7772e1";
20 };
21
22 nativeBuildInputs = [
23 setuptools-scm
24 ];
25
26 propagatedBuildInputs = [
27 botocore
28 ];
29
30 patches = [
31 # Remove coverage tests from the pytest invocation in setup.cfg.
32 ./remove-coverage-tests.patch
33 ];
34
35 postPatch = ''
36 substituteInPlace setup.py \
37 --replace "'pytest-runner'," ""
38 '';
39
40 nativeCheckInputs = [
41 pytestCheckHook
42 ];
43
44 disabledTestPaths = [
45 # Integration tests require networking.
46 "test/integ"
47 ];
48
49 pythonImportsCheck = [
50 "aws_secretsmanager_caching"
51 ];
52
53 meta = with lib; {
54 description = "Client-side AWS secrets manager caching library";
55 homepage = "https://github.com/aws/aws-secretsmanager-caching-python";
56 changelog = "https://github.com/aws/aws-secretsmanager-caching-python/releases/tag/v${version}";
57 longDescription = ''
58 The AWS Secrets Manager Python caching client enables in-process caching of secrets for Python applications.
59 '';
60 license = licenses.asl20;
61 maintainers = with maintainers; [ tomaskala ];
62 };
63}