signalbackup-tools: 20241220 -> 20250106 (#371523)
[NixPkgs.git] / pkgs / development / python-modules / botorch / default.nix
blob65db0322ba9d6fb2a0266287acd1c905569c2c54
2   lib,
3   stdenv,
4   buildPythonPackage,
5   fetchFromGitHub,
6   gpytorch,
7   linear-operator,
8   multipledispatch,
9   pyro-ppl,
10   setuptools,
11   setuptools-scm,
12   torch,
13   scipy,
14   pytestCheckHook,
17 buildPythonPackage rec {
18   pname = "botorch";
19   version = "0.12.0";
20   pyproject = true;
22   src = fetchFromGitHub {
23     owner = "pytorch";
24     repo = "botorch";
25     tag = "v${version}";
26     hash = "sha256-CKlerCUadObpPq4jQAiFDBOZMHZ4QccAKQz30OFe64E=";
27   };
29   build-system = [
30     setuptools
31     setuptools-scm
32   ];
34   dependencies = [
35     gpytorch
36     linear-operator
37     multipledispatch
38     pyro-ppl
39     scipy
40     torch
41   ];
43   pythonRelaxDeps = [
44     "gpytorch"
45     "linear-operator"
46   ];
48   nativeCheckInputs = [ pytestCheckHook ];
50   pytestFlagsArray = [
51     # tests tend to get stuck on busy hosts, increase verbosity to find out
52     # which specific tests get stuck
53     "-vvv"
54   ];
56   disabledTests =
57     [ "test_all_cases_covered" ]
58     ++ lib.optionals (stdenv.buildPlatform.system == "x86_64-linux") [
59       # stuck tests on hydra
60       "test_moo_predictive_entropy_search"
61     ]
62     ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
63       # Numerical error slightly above threshold
64       # AssertionError: Tensor-likes are not close!
65       "test_model_list_gpytorch_model"
66     ];
68   pythonImportsCheck = [ "botorch" ];
70   # needs lots of undisturbed CPU time or prone to getting stuck
71   requiredSystemFeatures = [ "big-parallel" ];
73   meta = {
74     changelog = "https://github.com/pytorch/botorch/blob/${src.rev}/CHANGELOG.md";
75     description = "Bayesian Optimization in PyTorch";
76     homepage = "https://botorch.org";
77     license = lib.licenses.mit;
78     maintainers = with lib.maintainers; [ veprbl ];
79   };