From 01bba26c1eeec92521a057a9b2725a6096a87c77 Mon Sep 17 00:00:00 2001 From: Matthias Thym Date: Sun, 13 Mar 2022 21:36:03 +0100 Subject: [PATCH] pyinfra: init at 1.7 --- .../python-modules/pyinfra/default.nix | 60 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/python-packages.nix | 2 + 3 files changed, 64 insertions(+) create mode 100644 pkgs/development/python-modules/pyinfra/default.nix diff --git a/pkgs/development/python-modules/pyinfra/default.nix b/pkgs/development/python-modules/pyinfra/default.nix new file mode 100644 index 000000000000..ce489127946f --- /dev/null +++ b/pkgs/development/python-modules/pyinfra/default.nix @@ -0,0 +1,60 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, gevent +, click +, colorama +, configparser +, distro +, jinja2 +, paramiko +, python-dateutil +, pywinrm +, setuptools +, six +}: + +buildPythonPackage rec { + pname = "pyinfra"; + version = "1.7"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-r+7ka3WKE6uHP//p1N71hgTGit7Eo3x9INpbKPYbFMI="; + }; + + propagatedBuildInputs = [ + click + colorama + configparser + distro + gevent + jinja2 + paramiko + python-dateutil + pywinrm + setuptools + six + ]; + + doCheck = false; + + pythonImportsCheck = [ + "pyinfra" + ]; + + meta = with lib; { + description = "Python-based infrastructure automation"; + longDescription = '' + pyinfra automates/provisions/manages/deploys infrastructure. It can be used for + ad-hoc command execution, service deployment, configuration management and more. + ''; + homepage = "https://github.com/Fizzadar/pyinfra"; + maintainers = with maintainers; [ totoroot ]; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 38fa936a3b11..f1d5c16013c0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9189,6 +9189,8 @@ with pkgs; pydf = callPackage ../applications/misc/pydf { }; + pyinfra = with python3Packages; toPythonApplication pyinfra; + pympress = callPackage ../applications/office/pympress { }; pyspread = libsForQt5.callPackage ../applications/office/pyspread { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 25bab7f31af6..0200cd96b66e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8305,6 +8305,8 @@ in { pyeverlights = callPackage ../development/python-modules/pyeverlights { }; + pyinfra = callPackage ../development/python-modules/pyinfra { }; + pytibber = callPackage ../development/python-modules/pytibber { }; pytile = callPackage ../development/python-modules/pytile { };