1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, botorch
5, ipywidgets
6, jinja2
7, pandas
8, plotly
9, setuptools-scm
10, typeguard
11, hypothesis
12, mercurial
13, pyfakefs
14, pytestCheckHook
15, yappi
16}:
17
18buildPythonPackage rec {
19 pname = "ax";
20 version = "0.3.2";
21 format = "pyproject";
22
23 src = fetchFromGitHub {
24 owner = "facebook";
25 repo = pname;
26 rev = version;
27 hash = "sha256-1KLLjeUktXvIDOlTQzMmpbL/On8PTxZQ44Qi4BT3nPk=";
28 };
29
30 propagatedBuildInputs = [
31 botorch
32 ipywidgets
33 jinja2
34 pandas
35 plotly
36 setuptools-scm
37 typeguard
38 ];
39
40 SETUPTOOLS_SCM_PRETEND_VERSION = version;
41
42 checkInputs = [
43 hypothesis
44 mercurial
45 pyfakefs
46 pytestCheckHook
47 yappi
48 ];
49 pytestFlagsArray = [
50 "--ignore=ax/benchmark"
51 "--ignore=ax/runners/tests/test_torchx.py"
52 # requires pyre_extensions
53 "--ignore=ax/telemetry/tests"
54 "--ignore=ax/core/tests/test_utils.py"
55 "--ignore=ax/early_stopping/tests/test_strategies.py"
56 # broken with sqlalchemy 2
57 "--ignore=ax/service/tests/test_ax_client.py"
58 "--ignore=ax/service/tests/test_scheduler.py"
59 "--ignore=ax/service/tests/test_with_db_settings_base.py"
60 "--ignore=ax/storage"
61 ];
62 pythonImportsCheck = [ "ax" ];
63
64 meta = with lib; {
65 description = "Ax is an accessible, general-purpose platform for understanding, managing, deploying, and automating adaptive experiments";
66 homepage = "https://ax.dev/";
67 license = licenses.mit;
68 maintainers = with maintainers; [ veprbl ];
69 };
70}