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