diff --git a/pkgs/development/python-modules/pyinfra/default.nix b/pkgs/development/python-modules/pyinfra/default.nix index 80b1d43ef6ed..518c186e174d 100644 --- a/pkgs/development/python-modules/pyinfra/default.nix +++ b/pkgs/development/python-modules/pyinfra/default.nix @@ -8,6 +8,7 @@ fetchFromGitHub, gevent, jinja2, + packaging, paramiko, pytestCheckHook, python-dateutil, @@ -15,35 +16,41 @@ pywinrm, pyyaml, setuptools, + typeguard, + typing-extensions, }: buildPythonPackage rec { pname = "pyinfra"; - version = "2.9.2"; - format = "setuptools"; + version = "3.0.2"; + pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.10"; src = fetchFromGitHub { owner = "Fizzadar"; - repo = pname; + repo = "pyinfra"; rev = "refs/tags/v${version}"; - hash = "sha256-lzbFwAg1aLCfBnSnqq4oVteArpkRBa7hU8V3vB5ODa8="; + hash = "sha256-Pjmh/aPsMIwGv5Agf+UGm1T3jv8i9jJQ7SEGc3vDxZg="; }; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ click colorama configparser distro gevent jinja2 + packaging paramiko python-dateutil pywinrm pyyaml setuptools - ]; + typeguard + ] ++ lib.optionals (pythonOlder "3.10") [ typing-extensions ]; nativeCheckInputs = [ pytestCheckHook ]; @@ -56,7 +63,6 @@ buildPythonPackage rec { meta = with lib; { description = "Python-based infrastructure automation"; - mainProgram = "pyinfra"; longDescription = '' pyinfra automates/provisions/manages/deploys infrastructure. It can be used for ad-hoc command execution, service deployment, configuration management and more. @@ -64,7 +70,8 @@ buildPythonPackage rec { homepage = "https://pyinfra.com"; downloadPage = "https://pyinfra.com/Fizzadar/pyinfra/releases"; changelog = "https://github.com/Fizzadar/pyinfra/blob/v${version}/CHANGELOG.md"; - maintainers = with maintainers; [ totoroot ]; license = licenses.mit; + maintainers = with maintainers; [ totoroot ]; + mainProgram = "pyinfra"; }; } diff --git a/pkgs/development/python-modules/pywinrm/default.nix b/pkgs/development/python-modules/pywinrm/default.nix index f35c2757e4e6..6350402a7739 100644 --- a/pkgs/development/python-modules/pywinrm/default.nix +++ b/pkgs/development/python-modules/pywinrm/default.nix @@ -2,38 +2,46 @@ lib, buildPythonPackage, fetchPypi, - pythonOlder, mock, + pykerberos, pytestCheckHook, - requests, + pythonOlder, + requests-credssp, requests-ntlm, - six, + requests, + setuptools, xmltodict, }: buildPythonPackage rec { pname = "pywinrm"; - version = "0.4.3"; - format = "setuptools"; + version = "0.5.0"; + pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-mVZ0v1rGSyViycVlQEcxCeUw02veEMJi1aUpYSGtVWU="; + hash = "sha256-VCjrHklK95VFRs1P8Vye8aMKdeBbJaOf1gbO8iIB6fE="; }; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ requests requests-ntlm - six xmltodict ]; + optional-dependencies = { + credssp = [ requests-credssp ]; + kerberos = [ pykerberos ]; + }; + nativeCheckInputs = [ mock pytestCheckHook - ]; + ] ++ lib.flatten (builtins.attrValues optional-dependencies); pythonImportsCheck = [ "winrm" ]; @@ -42,6 +50,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python library for Windows Remote Management"; homepage = "https://github.com/diyan/pywinrm"; + changelog = "https://github.com/diyan/pywinrm/blob/v${version}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ elasticdog