1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, linear_operator
5, scikit-learn
6, setuptools
7, setuptools-scm
8, wheel
9, torch
10, pytestCheckHook
11}:
12
13buildPythonPackage rec {
14 pname = "gpytorch";
15 version = "1.11";
16 format = "pyproject";
17
18 src = fetchFromGitHub {
19 owner = "cornellius-gp";
20 repo = pname;
21 rev = "v${version}";
22 hash = "sha256-cpkfjx5G/4duL1Rr4nkHTHi03TDcYbcx3bKP2Ny7Ijo=";
23 };
24
25 env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
26
27 nativeBuildInputs = [
28 setuptools
29 setuptools-scm
30 wheel
31 ];
32
33 propagatedBuildInputs = [
34 linear_operator
35 scikit-learn
36 torch
37 ];
38
39 checkInputs = [
40 pytestCheckHook
41 ];
42
43 pythonImportsCheck = [ "gpytorch" ];
44
45 disabledTests = [
46 # AssertionError on number of warnings emitted
47 "test_deprecated_methods"
48 # flaky numerical tests
49 "test_classification_error"
50 "test_matmul_matrix_broadcast"
51 # https://github.com/cornellius-gp/gpytorch/issues/2396
52 "test_t_matmul_matrix"
53 ];
54
55 meta = with lib; {
56 description = "A highly efficient and modular implementation of Gaussian Processes, with GPU acceleration";
57 homepage = "https://gpytorch.ai";
58 license = licenses.mit;
59 maintainers = with maintainers; [ veprbl ];
60 };
61}