1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8
9 # dependencies
10 future,
11 numpy,
12 scipy,
13 matplotlib,
14 scikit-learn,
15 torch,
16
17 # tests
18 pytestCheckHook,
19}:
20
21buildPythonPackage rec {
22 pname = "ezyrb";
23 version = "1.3.0.post2404";
24 pyproject = true;
25
26 src = fetchFromGitHub {
27 owner = "mathLab";
28 repo = "EZyRB";
29 tag = "v${version}";
30 hash = "sha256-nu75Geyeu1nTLoGaohXB9pmbUWKgdgch9Z5OJqz9xKQ=";
31 };
32
33 # AttributeError: module 'numpy' has no attribute 'VisibleDeprecationWarning'
34 postPatch = ''
35 substituteInPlace \
36 tests/test_k_neighbors_regressor.py \
37 tests/test_linear.py \
38 tests/test_radius_neighbors_regressor.py \
39 --replace-fail \
40 "np.VisibleDeprecationWarning" \
41 "np.exceptions.VisibleDeprecationWarning"
42 '';
43
44 build-system = [
45 setuptools
46 ];
47
48 dependencies = [
49 future
50 matplotlib
51 numpy
52 scikit-learn
53 scipy
54 torch
55 ];
56
57 nativeCheckInputs = [ pytestCheckHook ];
58
59 pythonImportsCheck = [ "ezyrb" ];
60
61 disabledTestPaths = [
62 # Exclude long tests
63 "tests/test_podae.py"
64 ];
65
66 meta = {
67 description = "Easy Reduced Basis method";
68 homepage = "https://mathlab.github.io/EZyRB/";
69 downloadPage = "https://github.com/mathLab/EZyRB/releases";
70 license = lib.licenses.mit;
71 maintainers = with lib.maintainers; [ yl3dy ];
72 };
73}