Skip to content

Commit

Permalink
FEAT : Add Model Dashboard (#366)
Browse files Browse the repository at this point in the history
Co-authored-by: UranusSeven <[email protected]>
Co-authored-by: Jiayi Ni <[email protected]>
  • Loading branch information
3 people authored Sep 1, 2023
1 parent f43e4b8 commit ce528cc
Show file tree
Hide file tree
Showing 27 changed files with 20,555 additions and 423 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ jobs:
pip install
build
--user
- name: Build web
run: >-
python setup.py build_web
- name: Build a binary wheel and a source tarball
run: >-
python3 -m
Expand Down
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ include xinference/_version.py
global-exclude conftest.py
include xinference/locale/*.json
include xinference/model/llm/*.json
global-include xinference/web/ui/build/**/*
2 changes: 1 addition & 1 deletion doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,4 @@
]
}

html_favicon = "_static/favicon.svg"
html_favicon = "_static/favicon.svg"
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ packages = find:
install_requires =
xoscar
xorbits
gradio>=3.35.0
gradio>=3.39.0
click
tqdm>=4.27
tabulate
Expand Down
88 changes: 86 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,16 @@
import os
import platform
import sys
import shutil
import subprocess
import warnings
from sysconfig import get_config_vars

from pkg_resources import parse_version
from setuptools import setup
from setuptools import Command, setup
from setuptools.command.develop import develop
from setuptools.command.install import install
from setuptools.command.sdist import sdist

# From https://github.com/pandas-dev/pandas/pull/24274:
# For mac, ensure extensions are built for macos 10.9 when compiling on a
Expand All @@ -43,6 +49,77 @@
repo_root = os.path.dirname(os.path.abspath(__file__))
os.chdir(repo_root)


class ExtraCommandMixin:
_extra_pre_commands = []

def run(self):
[self.run_command(cmd) for cmd in self._extra_pre_commands]
super().run()

@classmethod
def register_pre_command(cls, cmd):
cls._extra_pre_commands.append(cmd)


class CustomInstall(ExtraCommandMixin, install):
pass


class CustomDevelop(ExtraCommandMixin, develop):
pass


class CustomSDist(ExtraCommandMixin, sdist):
pass

class BuildWeb(Command):
"""build_web command"""

user_options = []
_web_src_path = "xinference/web/ui"
_web_dest_path = "xinference/web/ui/build/index.html"
_commands = [
["npm", "install"],
["npm", "run", "build"],
]

def initialize_options(self):
pass

def finalize_options(self):
pass

@classmethod
def run(cls):
if int(os.environ.get("NO_WEB_UI", "0")):
return

npm_path = shutil.which("npm")
web_src_path = os.path.join(repo_root, *cls._web_src_path.split("/"))
web_dest_path = os.path.join(repo_root, *cls._web_dest_path.split("/"))

if npm_path is None:
warnings.warn("Cannot find NPM, may affect displaying Xinference web UI")
return
else:
replacements = {"npm": npm_path}
cmd_errored = False
for cmd in cls._commands:
cmd = [replacements.get(c, c) for c in cmd]
proc_result = subprocess.run(cmd, cwd=web_src_path)
if proc_result.returncode != 0:
warnings.warn(f'Failed when running `{" ".join(cmd)}`')
cmd_errored = True
break
if not cmd_errored:
assert os.path.exists(web_dest_path)


CustomInstall.register_pre_command("build_web")
CustomDevelop.register_pre_command("build_web")
CustomSDist.register_pre_command("build_web")

sys.path.append(repo_root)
versioneer = __import__("versioneer")

Expand All @@ -57,7 +134,14 @@ def build_long_description():

setup_options = dict(
version=versioneer.get_version(),
cmdclass=versioneer.get_cmdclass(),
cmdclass=versioneer.get_cmdclass(
{
"build_web": BuildWeb,
"install": CustomInstall,
"develop": CustomDevelop,
"sdist": CustomSDist,
}
),
long_description=build_long_description(),
long_description_content_type="text/markdown",
)
Expand Down
Loading

0 comments on commit ce528cc

Please sign in to comment.