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 eb3ae6a8e051..4a427e10c620 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9194,6 +9194,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 5cac88531672..663d39b1c4d9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8279,6 +8279,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 { };