1{
2 lib,
3 asttokens,
4 buildPythonPackage,
5 executing,
6 hatchling,
7 fetchFromGitHub,
8 pygments,
9 pytest-mock,
10 pytestCheckHook,
11 pythonOlder,
12}:
13
14buildPythonPackage rec {
15 pname = "devtools";
16 version = "0.12.2";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "samuelcolvin";
23 repo = "python-${pname}";
24 rev = "refs/tags/v${version}";
25 hash = "sha256-1HFbNswdKa/9cQX0Gf6lLW1V5Kt/N4X6/5kQDdzp1Wo=";
26 };
27
28 nativeBuildInputs = [ hatchling ];
29
30 propagatedBuildInputs = [
31 asttokens
32 executing
33 pygments
34 ];
35
36 nativeCheckInputs = [
37 pytestCheckHook
38 pytest-mock
39 ];
40
41 disabledTests = [
42 # Test for Windows32
43 "test_print_subprocess"
44 # Sensitive to timing
45 "test_multiple_not_verbose"
46 # Sensitive to interpreter output
47 "test_simple"
48 ];
49
50 disabledTestPaths = [
51 # pytester_pretty is not available in Nixpkgs
52 "tests/test_insert_assert.py"
53 ];
54
55 pythonImportsCheck = [ "devtools" ];
56
57 meta = with lib; {
58 description = "Python's missing debug print command and other development tools";
59 homepage = "https://python-devtools.helpmanual.io/";
60 changelog = "https://github.com/samuelcolvin/python-devtools/releases/tag/v${version}";
61 license = licenses.mit;
62 maintainers = with maintainers; [ jdahm ];
63 };
64}