1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 isPy27,
7 pythonAtLeast,
8 coloredlogs,
9 humanfriendly,
10 property-manager,
11 fasteners,
12 six,
13 pytestCheckHook,
14 mock,
15 virtualenv,
16}:
17
18buildPythonPackage rec {
19 pname = "executor";
20 version = "23.2";
21
22 # pipes is removed in python 3.13
23 disabled = isPy27 || pythonAtLeast "3.13";
24
25 src = fetchFromGitHub {
26 owner = "xolox";
27 repo = "python-executor";
28 tag = version;
29 hash = "sha256-Gjv+sUtnP11cM8GMGkFzXHVx0c2XXSU56L/QwoQxINc=";
30 };
31
32 build-system = [
33 setuptools
34 ];
35
36 dependencies = [
37 coloredlogs
38 humanfriendly
39 property-manager
40 fasteners
41 six
42 ];
43
44 nativeCheckInputs = [
45 pytestCheckHook
46 mock
47 virtualenv
48 ];
49
50 # ignore impure tests
51 disabledTests = [
52 "option"
53 "retry"
54 "remote"
55 "ssh"
56 "foreach"
57 "local_context"
58 "release" # meant to be ran on ubuntu to succeed
59 ];
60
61 meta = {
62 changelog = "https://github.com/xolox/python-executor/blob/${version}/CHANGELOG.rst";
63 description = "Programmer friendly subprocess wrapper";
64 mainProgram = "executor";
65 homepage = "https://github.com/xolox/python-executor";
66 license = lib.licenses.mit;
67 maintainers = with lib.maintainers; [ eyjhb ];
68 };
69}