ansible-later: 2.0.22 -> 2.0.23
[NixPkgs.git] / pkgs / development / python-modules / pyinfra / default.nix
blob9410d5edbc5bd45c9ee85911ffceb2f74aa71c4d
1 { lib
2 , buildPythonPackage
3 , click
4 , colorama
5 , configparser
6 , distro
7 , fetchFromGitHub
8 , gevent
9 , jinja2
10 , paramiko
11 , pytestCheckHook
12 , python-dateutil
13 , pythonOlder
14 , pywinrm
15 , pyyaml
16 , setuptools
19 buildPythonPackage rec {
20   pname = "pyinfra";
21   version = "2.5.2";
22   format = "setuptools";
24   disabled = pythonOlder "3.7";
26   src = fetchFromGitHub {
27     owner = "Fizzadar";
28     repo = pname;
29     rev = "refs/tags/v${version}";
30     hash = "sha256-35qM6u3I8yH1E8mrlaeFjhliOVTkMXH13b8S6e9ROig=";
31   };
33   propagatedBuildInputs = [
34     click
35     colorama
36     configparser
37     distro
38     gevent
39     jinja2
40     paramiko
41     python-dateutil
42     pywinrm
43     pyyaml
44     setuptools
45   ];
47   checkInputs = [
48     pytestCheckHook
49   ];
51   pythonImportsCheck = [
52     "pyinfra"
53   ];
55   disabledTests = [
56     # Test requires SSH binary
57     "test_load_ssh_config"
58   ];
60   meta = with lib; {
61     description = "Python-based infrastructure automation";
62     longDescription = ''
63       pyinfra automates/provisions/manages/deploys infrastructure. It can be used for
64       ad-hoc command execution, service deployment, configuration management and more.
65     '';
66     homepage = "https://github.com/Fizzadar/pyinfra";
67     maintainers = with maintainers; [ totoroot ];
68     license = licenses.mit;
69   };