1{
2 lib,
3 buildPythonPackage,
4 hatchling,
5 fetchPypi,
6 jedi,
7 packaging,
8 pygments,
9 urwid,
10 urwid-readline,
11 pytest-mock,
12 pytestCheckHook,
13 pythonOlder,
14}:
15
16buildPythonPackage rec {
17 pname = "pudb";
18 version = "2025.1.1";
19 pyproject = true;
20
21 disabled = pythonOlder "3.8";
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-t8JFx1MceSZDYSYgqoErleyAoi/Q5nveTYRzRpLcS3I=";
26 };
27
28 build-system = [ hatchling ];
29
30 dependencies = [
31 jedi
32 packaging
33 pygments
34 urwid
35 urwid-readline
36 ];
37
38 nativeCheckInputs = [
39 pytest-mock
40 pytestCheckHook
41 ];
42
43 preCheck = ''
44 export HOME=$TMPDIR
45 '';
46
47 pythonImportsCheck = [ "pudb" ];
48
49 meta = with lib; {
50 description = "Full-screen, console-based Python debugger";
51 mainProgram = "pudb";
52 homepage = "https://github.com/inducer/pudb";
53 changelog = "https://github.com/inducer/pudb/releases/tag/v${version}";
54 license = licenses.mit;
55 maintainers = [ ];
56 };
57}