1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, pytestCheckHook
6, beartype
7, invoke
8, mypy
9, numpy
10, pandas
11, feedparser
12, typeguard
13}:
14
15buildPythonPackage rec {
16 pname = "nptyping";
17 version = "2.5.0";
18 format = "setuptools";
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "ramonhagenaars";
24 repo = pname;
25 rev = "refs/tags/v${version}";
26 hash = "sha256-hz4YrcvARCAA7TXapmneIwle/F4pzcIYLPSmiFHC0VQ=";
27 };
28
29 propagatedBuildInputs = [
30 numpy
31 ];
32
33 nativeCheckInputs = [
34 beartype
35 feedparser
36 invoke
37 mypy
38 pandas
39 pytestCheckHook
40 typeguard
41 ];
42
43 disabledTests = [
44 # tries to download data
45 "test_pandas_stubs_fork_is_synchronized"
46 ];
47
48 disabledTestPaths = [
49 # missing pyright import:
50 "tests/test_pyright.py"
51 # can't find mypy stubs for pandas:
52 "tests/test_mypy.py"
53 "tests/pandas_/test_mypy_dataframe.py"
54 # tries to build wheel of package, broken/unnecessary under Nix:
55 "tests/test_wheel.py"
56 ];
57
58 pythonImportsCheck = [
59 "nptyping"
60 ];
61
62 meta = with lib; {
63 description = "Type hints for numpy";
64 homepage = "https://github.com/ramonhagenaars/nptyping";
65 changelog = "https://github.com/ramonhagenaars/nptyping/blob/v${version}/HISTORY.md";
66 license = licenses.mit;
67 maintainers = with maintainers; [ bcdarwin ];
68 };
69}