1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 bash,
7 openssh,
8 pytestCheckHook,
9 pythonOlder,
10 stdenv,
11}:
12
13buildPythonPackage rec {
14 pname = "deploykit";
15 version = "1.1.1";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.8";
19
20 src = fetchFromGitHub {
21 owner = "numtide";
22 repo = "deploykit";
23 rev = version;
24 hash = "sha256-7PiXq1bQJ1jswLHNqCDSYZabgfp8HRuRt5YPGzd5Ej0=";
25 };
26
27 buildInputs = [ setuptools ];
28
29 nativeCheckInputs = [
30 bash
31 openssh
32 pytestCheckHook
33 ];
34
35 disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ "test_ssh" ];
36
37 # don't swallow stdout/stderr
38 pytestFlags = [ "-s" ];
39
40 pythonImportsCheck = [ "deploykit" ];
41
42 meta = with lib; {
43 description = "Execute commands remote via ssh and locally in parallel with python";
44 homepage = "https://github.com/numtide/deploykit";
45 changelog = "https://github.com/numtide/deploykit/releases/tag/${version}";
46 license = licenses.mit;
47 maintainers = with maintainers; [
48 mic92
49 zowoq
50 ];
51 platforms = platforms.unix;
52 };
53}