21 buildPythonPackage rec {
26 disabled = pythonOlder "3.10";
28 src = fetchFromGitHub {
32 hash = "sha256-l0RD4lOLjzM9Ydf7vJr+PXpUGsVdAZN/dTUFJ3fo078=";
35 build-system = [ setuptools ];
50 ++ lib.optionals (pythonOlder "3.11") [ typing-extensions ]
51 ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
53 nativeCheckInputs = [ pytestCheckHook ];
55 pythonImportsCheck = [ "pyinfra" ];
58 # Test requires SSH binary
59 "test_load_ssh_config"
63 description = "Python-based infrastructure automation";
65 pyinfra automates/provisions/manages/deploys infrastructure. It can be used for
66 ad-hoc command execution, service deployment, configuration management and more.
68 homepage = "https://pyinfra.com";
69 downloadPage = "https://pyinfra.com/Fizzadar/pyinfra/releases";
70 changelog = "https://github.com/Fizzadar/pyinfra/blob/v${version}/CHANGELOG.md";
71 license = licenses.mit;
72 maintainers = with maintainers; [ totoroot ];
73 mainProgram = "pyinfra";