diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index f630ba6e4456..8c29969375a4 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -15950,6 +15950,12 @@ githubId = 8577941; name = "Kevin Rauscher"; }; + tomaskala = { + email = "public+nixpkgs@tomaskala.com"; + github = "tomaskala"; + githubId = 7727887; + name = "Tomas Kala"; + }; tomberek = { email = "tomberek@gmail.com"; matrix = "@tomberek:matrix.org"; diff --git a/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix b/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix new file mode 100644 index 000000000000..95343fbf373d --- /dev/null +++ b/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix @@ -0,0 +1,63 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchPypi +, setuptools-scm +, botocore +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "aws_secretsmanager_caching"; + version = "1.1.1.5"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "5cee2762bb89b72f3e5123feee8e45fbe44ffe163bfca08b28f27b2e2b7772e1"; + }; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + botocore + ]; + + patches = [ + # Remove coverage tests from the pytest invocation in setup.cfg. + ./remove-coverage-tests.patch + ]; + + postPatch = '' + substituteInPlace setup.py \ + --replace "'pytest-runner'," "" + ''; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + disabledTestPaths = [ + # Integration tests require networking. + "test/integ" + ]; + + pythonImportsCheck = [ + "aws_secretsmanager_caching" + ]; + + meta = with lib; { + description = "Client-side AWS secrets manager caching library"; + homepage = "https://github.com/aws/aws-secretsmanager-caching-python"; + changelog = "https://github.com/aws/aws-secretsmanager-caching-python/releases/tag/v${version}"; + longDescription = '' + The AWS Secrets Manager Python caching client enables in-process caching of secrets for Python applications. + ''; + license = licenses.asl20; + maintainers = with maintainers; [ tomaskala ]; + }; +} diff --git a/pkgs/development/python-modules/aws-secretsmanager-caching/remove-coverage-tests.patch b/pkgs/development/python-modules/aws-secretsmanager-caching/remove-coverage-tests.patch new file mode 100644 index 000000000000..57af75dcb4fa --- /dev/null +++ b/pkgs/development/python-modules/aws-secretsmanager-caching/remove-coverage-tests.patch @@ -0,0 +1,14 @@ +diff --git a/setup.cfg b/setup.cfg +index 5aa81b2..0c02ded 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -3,9 +3,6 @@ xfail_strict = true + addopts = + --verbose + --doctest-modules +- --cov aws_secretsmanager_caching +- --cov-fail-under 90 +- --cov-report term-missing + --ignore doc/ + + [aliases] diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a5466c5504ee..f331d198332f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -873,6 +873,8 @@ self: super: with self; { aws-sam-translator = callPackage ../development/python-modules/aws-sam-translator { }; + aws-secretsmanager-caching = callPackage ../development/python-modules/aws-secretsmanager-caching { }; + aws-xray-sdk = callPackage ../development/python-modules/aws-xray-sdk { }; awscrt = callPackage ../development/python-modules/awscrt {