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