biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / development / python-modules / mlflow / default.nix
blobb04eddabc5ffdf7636a01ac00e7ec33adca0c464
2   lib,
3   fetchFromGitHub,
5   # build-system
6   setuptools,
8   # dependencies
9   alembic,
10   buildPythonPackage,
11   cachetools,
12   click,
13   cloudpickle,
14   databricks-sdk,
15   docker,
16   flask,
17   gitpython,
18   graphene,
19   gunicorn,
20   importlib-metadata,
21   jinja2,
22   markdown,
23   matplotlib,
24   numpy,
25   opentelemetry-api,
26   opentelemetry-sdk,
27   packaging,
28   pandas,
29   protobuf,
30   pyarrow,
31   pyyaml,
32   requests,
33   scikit-learn,
34   scipy,
35   sqlalchemy,
36   sqlparse,
38   # tests
39   aiohttp,
40   azure-core,
41   azure-storage-blob,
42   azure-storage-file,
43   boto3,
44   botocore,
45   catboost,
46   datasets,
47   fastapi,
48   google-cloud-storage,
49   httpx,
50   jwt,
51   keras,
52   langchain,
53   librosa,
54   moto,
55   opentelemetry-exporter-otlp,
56   optuna,
57   pydantic,
58   pyspark,
59   pytestCheckHook,
60   pytorch-lightning,
61   sentence-transformers,
62   starlette,
63   statsmodels,
64   tensorflow,
65   torch,
66   transformers,
67   uvicorn,
68   xgboost,
71 buildPythonPackage rec {
72   pname = "mlflow";
73   version = "2.16.2";
74   pyproject = true;
76   src = fetchFromGitHub {
77     owner = "mlflow";
78     repo = "mlflow";
79     rev = "refs/tags/v${version}";
80     hash = "sha256-7W1gpVgJSN/iXoW987eCHfcOeE3D/ZJ2W/eilDdzOww=";
81   };
83   build-system = [
84     setuptools
85   ];
87   dependencies = [
88     alembic
89     cachetools
90     click
91     cloudpickle
92     databricks-sdk
93     docker
94     flask
95     gitpython
96     graphene
97     gunicorn
98     importlib-metadata
99     jinja2
100     markdown
101     matplotlib
102     numpy
103     opentelemetry-api
104     opentelemetry-sdk
105     packaging
106     pandas
107     protobuf
108     pyarrow
109     pyyaml
110     requests
111     scikit-learn
112     scipy
113     sqlalchemy
114     sqlparse
115   ];
117   pythonImportsCheck = [ "mlflow" ];
119   nativeCheckInputs = [
120     aiohttp
121     azure-core
122     azure-storage-blob
123     azure-storage-file
124     boto3
125     botocore
126     catboost
127     datasets
128     fastapi
129     google-cloud-storage
130     httpx
131     jwt
132     keras
133     langchain
134     librosa
135     moto
136     opentelemetry-exporter-otlp
137     optuna
138     pydantic
139     pyspark
140     pytestCheckHook
141     pytorch-lightning
142     sentence-transformers
143     starlette
144     statsmodels
145     tensorflow
146     torch
147     transformers
148     uvicorn
149     xgboost
150   ];
152   disabledTestPaths = [
153     # Requires unpackaged `autogen`
154     "tests/autogen/test_autogen_autolog.py"
156     # Requires unpackaged `diviner`
157     "tests/diviner/test_diviner_model_export.py"
159     # Requires unpackaged `sktime`
160     "examples/sktime/test_sktime_model_export.py"
162     # Requires `fastai` which would cause a circular dependency
163     "tests/fastai/test_fastai_autolog.py"
164     "tests/fastai/test_fastai_model_export.py"
166     # Requires `spacy` which would cause a circular dependency
167     "tests/spacy/test_spacy_model_export.py"
169     # Requires `tensorflow.keras` which is not included in our outdated version of `tensorflow` (2.13.0)
170     "tests/gateway/providers/test_ai21labs.py"
171     "tests/tensorflow/test_keras_model_export.py"
172     "tests/tensorflow/test_keras_pyfunc_model_works_with_all_input_types.py"
173     "tests/tensorflow/test_mlflow_callback.py"
174   ];
176   # I (@GaetanLepage) gave up at enabling tests:
177   # - They require a lot of dependencies (some unpackaged);
178   # - Many errors occur at collection time;
179   # - Most (all ?) tests require internet access anyway.
180   doCheck = false;
182   meta = {
183     description = "Open source platform for the machine learning lifecycle";
184     mainProgram = "mlflow";
185     homepage = "https://github.com/mlflow/mlflow";
186     changelog = "https://github.com/mlflow/mlflow/blob/v${version}/CHANGELOG.md";
187     license = lib.licenses.asl20;
188     maintainers = with lib.maintainers; [ tbenst ];
189   };