nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytestCheckHook,
6 beartype,
7 invoke,
8 numpy,
9 pandas,
10 feedparser,
11}:
12
13buildPythonPackage rec {
14 pname = "nptyping";
15 version = "2.5.0";
16 format = "setuptools";
17
18 src = fetchFromGitHub {
19 owner = "ramonhagenaars";
20 repo = "nptyping";
21 tag = "v${version}";
22 hash = "sha256-hz4YrcvARCAA7TXapmneIwle/F4pzcIYLPSmiFHC0VQ=";
23 };
24
25 patches = [
26 ./numpy-2.0-compat.patch
27 ];
28
29 propagatedBuildInputs = [ numpy ];
30
31 nativeCheckInputs = [
32 beartype
33 feedparser
34 invoke
35 pandas
36 pytestCheckHook
37 ];
38
39 disabledTests = [
40 # tries to download data
41 "test_pandas_stubs_fork_is_synchronized"
42 ];
43
44 disabledTestPaths = [
45 # missing pyright import:
46 "tests/test_pyright.py"
47 # can't find mypy stubs for pandas:
48 "tests/test_mypy.py"
49 "tests/pandas_/test_mypy_dataframe.py"
50 # typeguard release broke nptyping compatibility:
51 "tests/test_typeguard.py"
52 # tries to build wheel of package, broken/unnecessary under Nix:
53 "tests/test_wheel.py"
54 # beartype fails a type check
55 "tests/test_beartype.py"
56 # broken by patch: https://github.com/ramonhagenaars/nptyping/pull/114#issuecomment-2605786199
57 # can be removed when the patch is merged
58 "tests/test_lib_export.py"
59 ];
60
61 pythonImportsCheck = [ "nptyping" ];
62
63 meta = {
64 description = "Type hints for numpy";
65 homepage = "https://github.com/ramonhagenaars/nptyping";
66 changelog = "https://github.com/ramonhagenaars/nptyping/blob/v${version}/HISTORY.md";
67 license = lib.licenses.mit;
68 maintainers = with lib.maintainers; [
69 bcdarwin
70 pandapip1
71 ];
72 };
73}