1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8 setuptools-scm,
9
10 # dependencies
11 numba,
12 numpy,
13 scipy,
14
15 # tests
16 dask,
17 pytest-cov-stub,
18 pytestCheckHook,
19}:
20
21buildPythonPackage rec {
22 pname = "sparse";
23 version = "0.17.0";
24 pyproject = true;
25
26 src = fetchFromGitHub {
27 owner = "pydata";
28 repo = "sparse";
29 tag = version;
30 hash = "sha256-LYJ7YnR7WtzamK6py1NRPBe+h28L7JT+52wmourAc/c=";
31 };
32
33 build-system = [
34 setuptools
35 setuptools-scm
36 ];
37
38 dependencies = [
39 numba
40 numpy
41 scipy
42 ];
43
44 nativeCheckInputs = [
45 dask
46 pytest-cov-stub
47 pytestCheckHook
48 ];
49
50 pythonImportsCheck = [ "sparse" ];
51
52 meta = {
53 description = "Sparse n-dimensional arrays computations";
54 homepage = "https://sparse.pydata.org/";
55 changelog = "https://sparse.pydata.org/en/stable/changelog.html";
56 downloadPage = "https://github.com/pydata/sparse/releases/tag/${version}";
57 license = lib.licenses.bsd3;
58 maintainers = with lib.maintainers; [ GaetanLepage ];
59 };
60}