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 distributed,
18 pandas,
19 pytestCheckHook,
20}:
21
22buildPythonPackage rec {
23 pname = "stumpy";
24 version = "1.13.0";
25 pyproject = true;
26
27 src = fetchFromGitHub {
28 owner = "TDAmeritrade";
29 repo = "stumpy";
30 tag = "v${version}";
31 hash = "sha256-S+Rb6pHphXfbqz4VMnN1p7ZrlWB/g7XCdy/T5/Q8VD8=";
32 };
33
34 build-system = [
35 setuptools
36 setuptools-scm
37 ];
38
39 dependencies = [
40 numba
41 numpy
42 scipy
43 ];
44
45 nativeCheckInputs = [
46 dask
47 distributed
48 pandas
49 pytestCheckHook
50 ];
51
52 pythonImportsCheck = [ "stumpy" ];
53
54 enabledTestPaths = [
55 # whole testsuite is very CPU intensive, only run core tests
56 # TODO: move entire test suite to passthru.tests
57 "tests/test_core.py"
58 ];
59
60 meta = {
61 description = "Library that can be used for a variety of time series data mining tasks";
62 changelog = "https://github.com/TDAmeritrade/stumpy/blob/v${version}/CHANGELOG.md";
63 homepage = "https://github.com/TDAmeritrade/stumpy";
64 license = lib.licenses.bsd3;
65 maintainers = [ ];
66 badPlatforms = [
67 # Multiple tests fail with:
68 # Segmentation fault (core dumped)
69 "aarch64-linux"
70 ];
71 };
72}