Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / skorch / default.nix
blob01d23f596dd9ee82f1ca5fa97f7427995f20b70b
1 { lib
2 , stdenv
3 , buildPythonPackage
4 , fetchPypi
5 , pythonOlder
6 , numpy
7 , scikit-learn
8 , scipy
9 , tabulate
10 , torch
11 , tqdm
12 , flaky
13 , pandas
14 , pytestCheckHook
15 , safetensors
16 , pythonAtLeast
19 buildPythonPackage rec {
20   pname = "skorch";
21   version = "0.15.0";
22   format = "setuptools";
24   src = fetchPypi {
25     inherit pname version;
26     hash = "sha256-39XVBlCmbg162z9uL84GZrU+v+M8waXbGdVV72ZYf84=";
27   };
29   disabled = pythonOlder "3.8";
31   propagatedBuildInputs = [
32     numpy
33     scikit-learn
34     scipy
35     tabulate
36     torch
37     tqdm
38   ];
40   nativeCheckInputs = [
41     flaky
42     pandas
43     pytestCheckHook
44     safetensors
45   ];
47   # patch out pytest-cov dep/invocation
48   postPatch = ''
49     substituteInPlace setup.cfg  \
50       --replace "--cov=skorch" ""  \
51       --replace "--cov-report=term-missing" ""  \
52       --replace "--cov-config .coveragerc" ""
53   '';
55   disabledTests = [
56     # on CPU, these expect artifacts from previous GPU run
57     "test_load_cuda_params_to_cpu"
58     # failing tests
59     "test_pickle_load"
60   ] ++ lib.optionals stdenv.isDarwin [
61     # there is a problem with the compiler selection
62     "test_fit_and_predict_with_compile"
63   ] ++ lib.optionals (pythonAtLeast "3.11") [
64     # Python 3.11+ not yet supported for torch.compile
65     # https://github.com/pytorch/pytorch/blob/v2.0.1/torch/_dynamo/eval_frame.py#L376-L377
66     "test_fit_and_predict_with_compile"
67   ];
69   disabledTestPaths = [
70     # tries to import `transformers` and download HuggingFace data
71     "skorch/tests/test_hf.py"
72   ] ++ lib.optionals (stdenv.hostPlatform.system != "x86_64-linux") [
73     # torch.distributed is disabled by default in darwin
74     # aarch64-linux also failed these tests
75     "skorch/tests/test_history.py"
76   ];
78   pythonImportsCheck = [ "skorch" ];
80   meta = with lib; {
81     description = "Scikit-learn compatible neural net library using Pytorch";
82     homepage = "https://skorch.readthedocs.io";
83     changelog = "https://github.com/skorch-dev/skorch/blob/master/CHANGES.md";
84     license = licenses.bsd3;
85     maintainers = with maintainers; [ bcdarwin ];
86   };