Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / mlflow / default.nix
blob5d8c91d8bc08ab13ca752a95b9e2a8075df57e38
1 { lib
2 , alembic
3 , buildPythonPackage
4 , click
5 , cloudpickle
6 , databricks-cli
7 , docker
8 , entrypoints
9 , fetchPypi
10 , flask
11 , gitpython
12 , gorilla
13 , graphene
14 , gunicorn
15 , importlib-metadata
16 , markdown
17 , matplotlib
18 , numpy
19 , packaging
20 , pandas
21 , prometheus-flask-exporter
22 , protobuf
23 , python-dateutil
24 , pythonOlder
25 , pythonRelaxDepsHook
26 , pyarrow
27 , pytz
28 , pyyaml
29 , querystring-parser
30 , requests
31 , setuptools
32 , scikit-learn
33 , scipy
34 , simplejson
35 , sqlalchemy
36 , sqlparse
39 buildPythonPackage rec {
40   pname = "mlflow";
41   version = "2.11.3";
42   pyproject = true;
44   disabled = pythonOlder "3.8";
46   src = fetchPypi {
47     inherit pname version;
48     hash = "sha256-Yht+MR6JC3lxnC53dyhtjgjTjdBNWrCAlmmQvUpV/rs=";
49   };
51   # Remove currently broken dependency `shap`, a model explainability package.
52   # This seems quite unprincipled especially with tests not being enabled,
53   # but not mlflow has a 'skinny' install option which does not require `shap`.
54   nativeBuildInputs = [
55     pythonRelaxDepsHook
56     setuptools
57   ];
58   pythonRemoveDeps = [ "shap" ];
59   pythonRelaxDeps = [
60     "packaging"
61     "pytz"
62     "pyarrow"
63   ];
65   propagatedBuildInputs = [
66     alembic
67     click
68     cloudpickle
69     databricks-cli
70     docker
71     entrypoints
72     flask
73     gitpython
74     gorilla
75     graphene
76     gunicorn
77     importlib-metadata
78     markdown
79     matplotlib
80     numpy
81     packaging
82     pandas
83     prometheus-flask-exporter
84     protobuf
85     python-dateutil
86     pyarrow
87     pytz
88     pyyaml
89     querystring-parser
90     requests
91     scikit-learn
92     scipy
93     #shap
94     simplejson
95     sqlalchemy
96     sqlparse
97   ];
99   pythonImportsCheck = [
100     "mlflow"
101   ];
103   # no tests in PyPI dist
104   # run into https://stackoverflow.com/questions/51203641/attributeerror-module-alembic-context-has-no-attribute-config
105   # also, tests use conda so can't run on NixOS without buildFHSEnv
106   doCheck = false;
108   meta = with lib; {
109     description = "Open source platform for the machine learning lifecycle";
110     mainProgram = "mlflow";
111     homepage = "https://github.com/mlflow/mlflow";
112     changelog = "https://github.com/mlflow/mlflow/blob/v${version}/CHANGELOG.md";
113     license = licenses.asl20;
114     maintainers = with maintainers; [ tbenst ];
115   };