1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 jaxtyping,
6 pytestCheckHook,
7 scipy,
8 setuptools,
9 setuptools-scm,
10 torch,
11 typeguard,
12}:
13
14buildPythonPackage rec {
15 pname = "linear-operator";
16 version = "0.6";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "cornellius-gp";
21 repo = "linear_operator";
22 tag = "v${version}";
23 hash = "sha256-qBC7wrpcZ8ViFqIOSd2F8heeBRQxrac/l33srHhNaIM=";
24 };
25
26 build-system = [
27 setuptools
28 setuptools-scm
29 ];
30
31 dependencies = [
32 jaxtyping
33 scipy
34 torch
35 typeguard
36 ];
37
38 pythonRelaxDeps = [
39 "jaxtyping"
40 "typeguard"
41 ];
42
43 pythonImportsCheck = [ "linear_operator" ];
44
45 nativeCheckInputs = [ pytestCheckHook ];
46
47 disabledTests = [
48 # flaky numerical tests
49 "test_matmul_matrix_broadcast"
50 "test_solve_matrix_broadcast"
51 "test_svd"
52 ];
53
54 meta = with lib; {
55 description = "LinearOperator implementation to wrap the numerical nuts and bolts of GPyTorch";
56 homepage = "https://github.com/cornellius-gp/linear_operator/";
57 license = licenses.mit;
58 maintainers = with maintainers; [ veprbl ];
59 };
60}