1{ lib
2, stdenv
3, buildPythonPackage
4, fetchFromGitHub
5, future
6, matplotlib
7, numpy
8, pytestCheckHook
9, pythonOlder
10, scipy
11, ezyrb
12}:
13
14buildPythonPackage rec {
15 pname = "pydmd";
16 version = "0.4.0.post2302";
17 format = "setuptools";
18
19 disabled = pythonOlder "3.6";
20
21 src = fetchFromGitHub {
22 owner = "mathLab";
23 repo = "PyDMD";
24 rev = "refs/tags/v${version}";
25 hash = "sha256-EYVmaxwOxje3KVrNbvsjwRqQBD7Rje/JK+qB1F7EqA0=";
26 };
27
28 propagatedBuildInputs = [
29 future
30 matplotlib
31 numpy
32 scipy
33 ezyrb
34 ];
35
36 nativeCheckInputs = [
37 pytestCheckHook
38 ];
39
40 pytestFlagsArray = [
41 # test suite takes over 100 vCPU hours, just run small subset of it.
42 # TODO: Add a passthru.tests with all tests
43 "tests/test_dmdbase.py"
44 ];
45
46 pythonImportsCheck = [
47 "pydmd"
48 ];
49
50 meta = with lib; {
51 description = "Python Dynamic Mode Decomposition";
52 homepage = "https://mathlab.github.io/PyDMD/";
53 changelog = "https://github.com/mathLab/PyDMD/releases/tag/v${version}";
54 license = licenses.mit;
55 maintainers = with maintainers; [ yl3dy ];
56 broken = stdenv.hostPlatform.isAarch64;
57 };
58}