depot/third_party/nixpkgs/pkgs/development/python-modules/ax/default.nix

98 lines
2.1 KiB
Nix
Raw Normal View History

{
lib,
buildPythonPackage,
fetchFromGitHub,
ax,
botorch,
ipywidgets,
jinja2,
pandas,
plotly,
python,
setuptools,
setuptools-scm,
typeguard,
wheel,
hypothesis,
mercurial,
pyfakefs,
pytestCheckHook,
yappi,
pyre-extensions,
}:
buildPythonPackage rec {
pname = "ax";
version = "0.4.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "facebook";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-dj6Gig8N4oLtcZLwPl4QDHG/FwA2nFBtYxSARnWiJJU=";
};
nativeBuildInputs = [
setuptools
setuptools-scm
wheel
];
propagatedBuildInputs = [
botorch
ipywidgets
jinja2
pandas
plotly
typeguard
pyre-extensions
];
env.ALLOW_BOTORCH_LATEST = "1";
checkInputs = [
hypothesis
mercurial
pyfakefs
pytestCheckHook
yappi
];
pytestFlagsArray = [
"--ignore=ax/benchmark"
"--ignore=ax/runners/tests/test_torchx.py"
# requires pyre_extensions
"--ignore=ax/telemetry/tests"
"--ignore=ax/core/tests/test_utils.py"
"--ignore=ax/early_stopping/tests/test_strategies.py"
# broken with sqlalchemy 2
"--ignore=ax/service/tests/test_ax_client.py"
"--ignore=ax/service/tests/test_scheduler.py"
"--ignore=ax/service/tests/test_with_db_settings_base.py"
"--ignore=ax/storage"
];
disabledTests = [
# exact comparison of floating points
"test_optimize_l0_homotopy"
# AssertionError: 5 != 2
"test_get_standard_plots_moo"
# AssertionError: Expected 'warning' to be called once. Called 3 times
"test_validate_kwarg_typing"
# uses torch.equal
"test_convert_observations"
];
pythonImportsCheck = [ "ax" ];
# Many portions of the test suite fail under Python 3.12
doCheck = lib.versions.majorMinor python.version != "3.12";
passthru.tests.check = ax.overridePythonAttrs { doCheck = true; };
meta = with lib; {
description = "Ax is an accessible, general-purpose platform for understanding, managing, deploying, and automating adaptive experiments";
homepage = "https://ax.dev/";
license = licenses.mit;
maintainers = with maintainers; [ veprbl ];
};
}