1{
2 lib,
3 buildPythonPackage,
4 dask,
5 fetchPypi,
6 numba,
7 numpy,
8 pytest7CheckHook,
9 pythonOlder,
10 setuptools,
11 setuptools-scm,
12 scipy,
13}:
14
15buildPythonPackage rec {
16 pname = "sparse";
17 version = "0.15.4";
18 pyproject = true;
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchPypi {
23 inherit pname version;
24 hash = "sha256-1LHFfST/D2Ty/VtalbSbf7hO0geibX1Yzidk3MXHK4Q=";
25 };
26
27 postPatch = ''
28 substituteInPlace pytest.ini \
29 --replace-fail "--cov-report term-missing --cov-report html --cov-report=xml --cov-report=term --cov sparse --cov-config .coveragerc --junitxml=junit/test-results.xml" ""
30 '';
31
32 build-system = [
33 setuptools
34 setuptools-scm
35 ];
36
37 dependencies = [
38 numba
39 numpy
40 scipy
41 ];
42
43 nativeCheckInputs = [
44 dask
45 pytest7CheckHook
46 ];
47
48 pythonImportsCheck = [ "sparse" ];
49
50 pytestFlagsArray = [
51 "-W"
52 "ignore::pytest.PytestRemovedIn8Warning"
53 ];
54
55 meta = with lib; {
56 description = "Sparse n-dimensional arrays computations";
57 homepage = "https://sparse.pydata.org/";
58 changelog = "https://sparse.pydata.org/en/stable/changelog.html";
59 downloadPage = "https://github.com/pydata/sparse/releases/tag/${version}";
60 license = licenses.bsd3;
61 maintainers = [ ];
62 };
63}