depot/third_party/nixpkgs/pkgs/servers/mlflow-server/default.nix
Default email ae2dc6aea6 Project import generated by Copybara.
GitOrigin-RevId: 4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0
2024-10-11 07:15:48 +02:00

39 lines
901 B
Nix

{ python3Packages, writers }:
let
py = python3Packages;
gunicornScript = writers.writePython3 "gunicornMlflow" { } ''
import re
import sys
from gunicorn.app.wsgiapp import run
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', ''', sys.argv[0])
sys.exit(run())
'';
in
py.toPythonApplication (
py.mlflow.overridePythonAttrs (old: {
propagatedBuildInputs = old.dependencies ++ [
py.boto3
py.mysqlclient
];
postPatch =
(old.postPatch or "")
+ ''
cat mlflow/utils/process.py
substituteInPlace mlflow/utils/process.py --replace-fail \
"process = subprocess.Popen(" \
"cmd[0]='${gunicornScript}'; process = subprocess.Popen("
'';
postInstall = ''
gpath=$out/bin/gunicornMlflow
cp ${gunicornScript} $gpath
chmod 555 $gpath
'';
})
)