1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 setuptools,
7 blessed,
8 rich,
9 pytestCheckHook,
10 pandas,
11}:
12
13buildPythonPackage {
14 pname = "objexplore";
15 version = "1.6.2";
16 pyproject = true;
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "kylepollina";
22 repo = "objexplore";
23 # tags for >1.5.4 are not availables on github
24 # see: https://github.com/kylepollina/objexplore/issues/25
25 rev = "3c2196d26e5a873eed0a694cddca66352ea7c81e";
26 hash = "sha256-BgeuRRuvbB4p99mwCjNxm3hYEZuGua8x2GdoVssQ7eI=";
27 };
28
29 pythonRelaxDeps = [
30 "blessed"
31 "rich"
32 ];
33
34 build-system = [ setuptools ];
35
36 dependencies = [
37 blessed
38 rich
39 ];
40
41 nativeCheckInputs = [
42 pytestCheckHook
43 pandas
44 ];
45
46 pythonImportsCheck = [
47 "objexplore"
48 "objexplore.cached_object"
49 "objexplore.explorer"
50 "objexplore.filter"
51 "objexplore.help_layout"
52 "objexplore.objexplore"
53 "objexplore.overview"
54 "objexplore.stack"
55 "objexplore.utils"
56 ];
57
58 meta = {
59 description = "Terminal UI to interactively inspect and explore Python objects";
60 homepage = "https://github.com/kylepollina/objexplore";
61 license = lib.licenses.mit;
62 maintainers = with lib.maintainers; [
63 pbsds
64 sigmanificient
65 ];
66 };
67}