1{
2 lib,
3 buildPythonPackage,
4 decorator,
5 fetchFromGitHub,
6 jinja2,
7 jsonschema,
8 mypy,
9 packaging,
10 pytest,
11 pytestCheckHook,
12 pythonOlder,
13 pyyaml,
14 regex,
15 setuptools,
16 tomlkit,
17}:
18
19buildPythonPackage rec {
20 pname = "pytest-mypy-plugins";
21 version = "3.2.0";
22 pyproject = true;
23
24 disabled = pythonOlder "3.9";
25
26 src = fetchFromGitHub {
27 owner = "typeddjango";
28 repo = "pytest-mypy-plugins";
29 tag = version;
30 hash = "sha256-60VxMUUCIP+Mp+OsgdyRTPZVLGC/3iaMxxhw02ABB9k=";
31 };
32
33 build-system = [ setuptools ];
34
35 buildInputs = [ pytest ];
36
37 dependencies = [
38 decorator
39 jinja2
40 jsonschema
41 mypy
42 packaging
43 pyyaml
44 regex
45 tomlkit
46 ];
47
48 pythonImportsCheck = [ "pytest_mypy_plugins" ];
49
50 nativeCheckInputs = [
51 mypy
52 pytestCheckHook
53 ];
54
55 preCheck = ''
56 export PATH="$PATH:$out/bin";
57 '';
58
59 disabledTestPaths = [ "pytest_mypy_plugins/tests/test_explicit_configs.py" ];
60
61 meta = with lib; {
62 description = "Pytest plugin for testing mypy types, stubs, and plugins";
63 homepage = "https://github.com/TypedDjango/pytest-mypy-plugins";
64 changelog = "https://github.com/typeddjango/pytest-mypy-plugins/releases/tag/${version}";
65 license = licenses.mit;
66 maintainers = with maintainers; [ SomeoneSerge ];
67 };
68}