chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
import logging
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import mlflow.server
|
||||
from mlflow.demo import generate_all_demos
|
||||
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def setup():
|
||||
# Extract UI build assets into the mlflow package's expected location
|
||||
tar_path = Path(__file__).parent.resolve() / "build.tar.gz"
|
||||
target_dir = Path(mlflow.server.__file__).parent / "js"
|
||||
target_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
_logger.info("Extracting UI assets to %s", target_dir)
|
||||
subprocess.check_call(["tar", "xzf", tar_path, "-C", target_dir])
|
||||
|
||||
# Generate demo data. Always refresh so the preview app reflects the latest
|
||||
# demo content (e.g. new trace types) even if the SQLite database persisted
|
||||
# from a previous deploy with stale demo data.
|
||||
os.environ["MLFLOW_TRACKING_URI"] = "sqlite:///mlflow.db"
|
||||
_logger.info("Generating demo data...")
|
||||
generate_all_demos(refresh=True)
|
||||
_logger.info("Demo data generated.")
|
||||
|
||||
|
||||
def main():
|
||||
setup()
|
||||
|
||||
cmd = [
|
||||
sys.executable,
|
||||
"-m",
|
||||
"mlflow",
|
||||
"server",
|
||||
"--backend-store-uri",
|
||||
"sqlite:///mlflow.db",
|
||||
"--default-artifact-root",
|
||||
"./mlartifacts",
|
||||
"--serve-artifacts",
|
||||
"--host",
|
||||
"0.0.0.0",
|
||||
"--port",
|
||||
"8000",
|
||||
"--workers",
|
||||
"1",
|
||||
]
|
||||
_logger.info("Starting MLflow server: %s", " ".join(cmd))
|
||||
os.execvp(cmd[0], cmd)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user