1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, botorch
5, ipywidgets
6, jinja2
7, pandas
8, plotly
9, setuptools
10, setuptools-scm
11, typeguard
12, wheel
13, hypothesis
14, mercurial
15, pyfakefs
16, pytestCheckHook
17, yappi
18}:
19
20buildPythonPackage rec {
21 pname = "ax";
22 version = "0.3.4";
23 format = "pyproject";
24
25 src = fetchFromGitHub {
26 owner = "facebook";
27 repo = pname;
28 rev = version;
29 hash = "sha256-Yc6alEKXbtQ0hitIdPhkJWhZQg150b0NJJRLZ+f1hdY=";
30 };
31
32 nativeBuildInputs = [
33 setuptools
34 setuptools-scm
35 wheel
36 ];
37
38 propagatedBuildInputs = [
39 botorch
40 ipywidgets
41 jinja2
42 pandas
43 plotly
44 typeguard
45 ];
46
47 SETUPTOOLS_SCM_PRETEND_VERSION = version;
48
49 checkInputs = [
50 hypothesis
51 mercurial
52 pyfakefs
53 pytestCheckHook
54 yappi
55 ];
56 pytestFlagsArray = [
57 "--ignore=ax/benchmark"
58 "--ignore=ax/runners/tests/test_torchx.py"
59 # requires pyre_extensions
60 "--ignore=ax/telemetry/tests"
61 "--ignore=ax/core/tests/test_utils.py"
62 "--ignore=ax/early_stopping/tests/test_strategies.py"
63 # broken with sqlalchemy 2
64 "--ignore=ax/service/tests/test_ax_client.py"
65 "--ignore=ax/service/tests/test_scheduler.py"
66 "--ignore=ax/service/tests/test_with_db_settings_base.py"
67 "--ignore=ax/storage"
68 ];
69 disabledTests = [
70 # exact comparison of floating points
71 "test_optimize_l0_homotopy"
72 # AssertionError: 5 != 2
73 "test_get_standard_plots_moo"
74 # AssertionError: Expected 'warning' to be called once. Called 3 times
75 "test_validate_kwarg_typing"
76 ];
77 pythonImportsCheck = [ "ax" ];
78
79 meta = with lib; {
80 description = "Ax is an accessible, general-purpose platform for understanding, managing, deploying, and automating adaptive experiments";
81 homepage = "https://ax.dev/";
82 license = licenses.mit;
83 maintainers = with maintainers; [ veprbl ];
84 };
85}