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