1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchPypi
5, stdenv
6
7# build-system
8, setuptools
9
10# propagates (optional, but unspecified)
11# https://github.com/joblib/joblib#dependencies
12, lz4
13, psutil
14
15# tests
16, pytestCheckHook
17, threadpoolctl
18}:
19
20
21buildPythonPackage rec {
22 pname = "joblib";
23 version = "1.3.2";
24 format = "pyproject";
25
26 disabled = pythonOlder "3.7";
27
28 src = fetchPypi {
29 inherit pname version;
30 hash = "sha256-kvhl5iHhd4TnlVCAttBCSJ47jilJScxExurDBPWXcrE=";
31 };
32
33 nativeBuildInputs = [
34 setuptools
35 ];
36
37 propagatedBuildInputs = [
38 lz4
39 psutil
40 ];
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 threadpoolctl
45 ];
46
47 pytestFlagsArray = [
48 "joblib/test"
49 ];
50
51 disabledTests = [
52 "test_disk_used" # test_disk_used is broken: https://github.com/joblib/joblib/issues/57
53 "test_parallel_call_cached_function_defined_in_jupyter" # jupyter not available during tests
54 "test_nested_parallel_warnings" # tests is flaky under load
55 ] ++ lib.optionals stdenv.isDarwin [
56 "test_dispatch_multiprocessing" # test_dispatch_multiprocessing is broken only on Darwin.
57 ];
58
59 meta = with lib; {
60 changelog = "https://github.com/joblib/joblib/releases/tag/${version}";
61 description = "Lightweight pipelining: using Python functions as pipeline jobs";
62 homepage = "https://joblib.readthedocs.io/";
63 license = licenses.bsd3;
64 maintainers = with maintainers; [ ];
65 };
66}