diff --git a/pkgs/development/python-modules/mlflow-skinny/default.nix b/pkgs/development/python-modules/mlflow-skinny/default.nix new file mode 100644 index 000000000000..7683c7c045fb --- /dev/null +++ b/pkgs/development/python-modules/mlflow-skinny/default.nix @@ -0,0 +1,73 @@ +{ + buildPythonPackage, + mlflow, + + # build-system + setuptools, + + # dependencies + cachetools, + click, + cloudpickle, + databricks-sdk, + fastapi, + gitpython, + importlib-metadata, + opentelemetry-api, + opentelemetry-proto, + opentelemetry-sdk, + packaging, + protobuf, + pydantic, + python-dotenv, + pyyaml, + requests, + sqlparse, + starlette, + typing-extensions, + uvicorn, +}: + +buildPythonPackage (finalAttrs: { + pname = "mlflow-skinny"; + inherit (mlflow) version src; + pyproject = true; + __structuredAttrs = true; + + sourceRoot = "${finalAttrs.src.name}/libs/skinny"; + + build-system = [ setuptools ]; + + dependencies = [ + cachetools + click + cloudpickle + databricks-sdk + fastapi + gitpython + importlib-metadata + opentelemetry-api + opentelemetry-proto + opentelemetry-sdk + packaging + protobuf + pydantic + python-dotenv + pyyaml + requests + sqlparse + starlette + typing-extensions + uvicorn + ]; + + pythonImportsCheck = [ "mlflow" ]; + + # No tests in the skinny subtree. + doCheck = false; + + meta = mlflow.meta // { + description = "Lightweight version of MLflow that is designed to minimize package size"; + homepage = "https://github.com/mlflow/mlflow/tree/master/libs/skinny"; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 75a1ff10b2df..33d11b09ed92 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10165,6 +10165,8 @@ self: super: with self; { mlflow = callPackage ../development/python-modules/mlflow { }; + mlflow-skinny = callPackage ../development/python-modules/mlflow-skinny { }; + mlrose = callPackage ../development/python-modules/mlrose { }; mlt = toPythonModule (