Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / joblib / default.nix
blob298a2ce83adfb913d92744dbf4bfb1a1ce5e04b3
1 { lib
2 , buildPythonPackage
3 , pythonOlder
4 , fetchPypi
5 , fetchpatch
6 , pythonAtLeast
7 , stdenv
9 # build-system
10 , setuptools
12 # propagates (optional, but unspecified)
13 # https://github.com/joblib/joblib#dependencies
14 , lz4
15 , psutil
17 # tests
18 , pytestCheckHook
19 , threadpoolctl
23 buildPythonPackage rec {
24   pname = "joblib";
25   version = "1.3.2";
26   format = "pyproject";
28   disabled = pythonOlder "3.7";
30   src = fetchPypi {
31     inherit pname version;
32     hash = "sha256-kvhl5iHhd4TnlVCAttBCSJ47jilJScxExurDBPWXcrE=";
33   };
35   patches = [
36     (fetchpatch {
37       name = "suppress-deprecation-warnings-with-python312.patch";
38       url = "https://github.com/joblib/joblib/commit/05caf0772d605799e5d2337018fd32ac829b37aa.patch";
39       hash = "sha256-bfqxCLFkCnuWMIkIbcjh+nCTv38A8jxvyCHeJPxoZwg=";
40     })
41   ];
43   nativeBuildInputs = [
44     setuptools
45   ];
47   propagatedBuildInputs = [
48     lz4
49     psutil
50   ];
52   nativeCheckInputs = [
53     pytestCheckHook
54     threadpoolctl
55   ];
57   pytestFlagsArray = [
58     "joblib/test"
59   ];
61   disabledTests = [
62     "test_disk_used" # test_disk_used is broken: https://github.com/joblib/joblib/issues/57
63     "test_parallel_call_cached_function_defined_in_jupyter" # jupyter not available during tests
64     "test_nested_parallel_warnings" # tests is flaky under load
65   ] ++ lib.optionals stdenv.isDarwin [
66     "test_dispatch_multiprocessing" # test_dispatch_multiprocessing is broken only on Darwin.
67   ] ++ lib.optionals (pythonAtLeast "3.12") [
68     # deprecation warnings with python3.12 https://github.com/joblib/joblib/issues/1478
69     "test_main_thread_renamed_no_warning"
70     "test_background_thread_parallelism"
71   ];
73   meta = with lib; {
74     changelog = "https://github.com/joblib/joblib/releases/tag/${version}";
75     description = "Lightweight pipelining: using Python functions as pipeline jobs";
76     homepage = "https://joblib.readthedocs.io/";
77     license = licenses.bsd3;
78     maintainers = with maintainers; [ ];
79   };