1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
{
lib,
buildPythonPackage,
fetchPypi,
pythonOlder,
setuptools,
setuptools-scm,
pytestCheckHook,
typing-extensions,
importlib-metadata,
mypy,
sphinxHook,
sphinx-autodoc-typehints,
sphinx-rtd-theme,
glibcLocales,
}:
buildPythonPackage rec {
pname = "typeguard";
version = "4.3.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-ku5qCuyRNRgermBn69YX/Z3o111xT7VIcopJM7HeplE=";
};
outputs = [
"out"
"doc"
];
build-system = [
glibcLocales
setuptools
setuptools-scm
sphinxHook
sphinx-autodoc-typehints
sphinx-rtd-theme
];
dependencies = [
typing-extensions
] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
env.LC_ALL = "en_US.utf-8";
nativeCheckInputs = [
mypy
pytestCheckHook
];
pythonImportsCheck = [ "typeguard" ];
disabledTestPaths = [
# mypy tests aren't passing with latest mypy
"tests/mypy"
];
disabledTests = [
# AssertionError: 'type of argument "x" must be ' != 'None'
"TestPrecondition::test_precondition_ok_and_typeguard_fails"
# AttributeError: 'C' object has no attribute 'x'
"TestInvariant::test_invariant_ok_and_typeguard_fails"
# AttributeError: 'D' object has no attribute 'x'
"TestInheritance::test_invariant_ok_and_typeguard_fails"
];
meta = with lib; {
description = "This library provides run-time type checking for functions defined with argument type annotations";
homepage = "https://github.com/agronholm/typeguard";
changelog = "https://github.com/agronholm/typeguard/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}
|