diff --git a/pkgs/development/python-modules/troposphere/default.nix b/pkgs/development/python-modules/troposphere/default.nix new file mode 100644 index 000000000000..93e09901e7d6 --- /dev/null +++ b/pkgs/development/python-modules/troposphere/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, python + + # python dependencies +, awacs +, cfn-flip +, typing-extensions +}: + +buildPythonPackage rec { + pname = "troposphere"; + version = "4.1.0"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "cloudtools"; + repo = pname; + rev = version; + hash = "sha256-cAn4Hty5f/RsCnUA59CxtGrhRgzVyaHe5PuQOM6lwEQ="; + }; + + propagatedBuildInputs = [ + cfn-flip + ] ++ lib.lists.optionals (pythonOlder "3.8") [ + typing-extensions + ]; + + checkInputs = [ + awacs + ]; + + passthru.optional-dependencies = { + policy = [ awacs ]; + }; + + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + + pythonImportsCheck = [ "troposphere" ]; + + meta = with lib; { + description = "Library to create AWS CloudFormation descriptions"; + maintainers = with maintainers; [ jlesquembre ]; + license = licenses.bsd2; + homepage = "https://github.com/cloudtools/troposphere"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 08c900f51bfc..e53cc1f64213 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11312,6 +11312,8 @@ self: super: with self; { trio-websocket = callPackage ../development/python-modules/trio-websocket { }; + troposphere = callPackage ../development/python-modules/troposphere { }; + trueskill = callPackage ../development/python-modules/trueskill { }; trustme = callPackage ../development/python-modules/trustme { };