1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6 setuptools,
7 future,
8 matplotlib,
9 numpy,
10 pytestCheckHook,
11 pytest-mock,
12 pythonOlder,
13 scipy,
14 ezyrb,
15}:
16
17let
18 self = buildPythonPackage rec {
19 pname = "pydmd";
20 version = "1.0.0";
21 pyproject = true;
22
23 disabled = pythonOlder "3.6";
24
25 src = fetchFromGitHub {
26 owner = "PyDMD";
27 repo = "PyDMD";
28 rev = "refs/tags/v${version}";
29 hash = "sha256-vprvq3sl/eNtu4cqg0A4XV96dzUt0nOtPmfwEv0h+PI=";
30 };
31
32 build-system = [ setuptools ];
33
34 propagatedBuildInputs = [
35 future
36 matplotlib
37 numpy
38 scipy
39 ezyrb
40 ];
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 pytest-mock
45 ];
46
47 pytestFlagsArray = [ "tests/test_dmdbase.py" ];
48
49 pythonImportsCheck = [ "pydmd" ];
50
51 passthru.tests = self.overrideAttrs (old: {
52 pytestFlagsArray = [ ];
53 });
54
55 meta = with lib; {
56 description = "Python Dynamic Mode Decomposition";
57 homepage = "https://pydmd.github.io/PyDMD/";
58 changelog = "https://github.com/PyDMD/PyDMD/releases/tag/v${version}";
59 license = licenses.mit;
60 maintainers = with maintainers; [ yl3dy ];
61 };
62 };
63in
64self