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