1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, requests
6, numpy
7, pandas
8, scipy
9, statsmodels
10, patsy
11, scikit-learn
12, tqdm
13, dask
14, distributed
15, stumpy
16, cloudpickle
17, pytestCheckHook
18, pytest-xdist
19, mock
20, matplotlib
21, seaborn
22, ipython
23, notebook
24, pandas-datareader
25}:
26
27buildPythonPackage rec {
28 pname = "tsfresh";
29 version = "0.20.1";
30 pyproject = true;
31
32 disabled = pythonOlder "3.7";
33
34 src = fetchFromGitHub {
35 owner = "blue-yonder";
36 repo = "tsfresh";
37 rev = "v${version}";
38 hash = "sha256-JmdP/6aTnuYsBRiRq9zZng3xNYhOdr9V8bp1trAv508=";
39 };
40
41 patches = [
42 # The pyscaffold is not a build dependency but just a python project bootstrapping tool, so we do not need it
43 ./remove-pyscaffold.patch
44 ./remove-pytest-coverage-flags.patch
45 ];
46
47 propagatedBuildInputs = [
48 requests
49 numpy
50 pandas
51 scipy
52 statsmodels
53 patsy
54 scikit-learn
55 tqdm
56 dask
57 distributed
58 stumpy
59 cloudpickle
60 ] ++ dask.optional-dependencies.dataframe;
61
62 nativeCheckInputs = [
63 pytestCheckHook
64 pytest-xdist
65 mock
66 matplotlib
67 seaborn
68 ipython
69 notebook
70 pandas-datareader
71 ];
72
73 disabledTests = [
74 # touches network
75 "test_relevant_extraction"
76 "test_characteristics_downloaded_robot_execution_failures"
77 "test_index"
78 "test_binary_target_is_default"
79 "test_characteristics_downloaded_robot_execution_failures"
80 "test_extraction_runs_through"
81 "test_multilabel_target_on_request"
82 ];
83
84 pythonImportsCheck = [ "tsfresh" ];
85
86 meta = with lib; {
87 description = "Automatic extraction of relevant features from time series";
88 homepage = "https://github.com/blue-yonder/tsfresh";
89 changelog = "https://github.com/blue-yonder/tsfresh/blob/${src.rev}/CHANGES.rst";
90 license = licenses.mit;
91 maintainers = with maintainers; [ mbalatsko ];
92 };
93}