1{
2 lib,
3 buildPythonPackage,
4 configobj,
5 fetchFromGitHub,
6 numpy,
7 pandas,
8 pyface,
9 pytestCheckHook,
10 pythonOlder,
11 setuptools,
12 tables,
13 traits,
14 traitsui,
15}:
16
17buildPythonPackage rec {
18 pname = "apptools";
19 version = "5.3.1";
20 pyproject = true;
21
22 disabled = pythonOlder "3.8";
23
24 src = fetchFromGitHub {
25 owner = "enthought";
26 repo = "apptools";
27 tag = version;
28 hash = "sha256-46QiVLWdlM89GMCIqVNuNGJjT2nwWJ1c6DyyvEPcceQ=";
29 };
30
31 build-system = [ setuptools ];
32
33 dependencies = [ traits ];
34
35 optional-dependencies = {
36 gui = [
37 pyface
38 traitsui
39 ];
40 h5 = [
41 numpy
42 pandas
43 tables
44 ];
45 persistence = [ numpy ];
46 preferences = [ configobj ];
47 };
48
49 nativeCheckInputs = [ pytestCheckHook ] ++ lib.flatten (lib.attrValues optional-dependencies);
50
51 preCheck = ''
52 export HOME=$TMP
53 '';
54
55 pythonImportsCheck = [ "apptools" ];
56
57 meta = with lib; {
58 description = "Set of packages that Enthought has found useful in creating a number of applications";
59 homepage = "https://github.com/enthought/apptools";
60 changelog = "https://github.com/enthought/apptools/releases/tag/${src.tag}";
61 license = licenses.bsdOriginal;
62 maintainers = with maintainers; [ ];
63 };
64}