Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ RUN pip install poetry==$POETRY_VERSION && \
--without-hashes \
--format constraints.txt \
-o /opt/mlserver/dist/constraints.txt && \
sed -i 's/\[.*\]//g' /opt/mlserver/dist/constraints.txt
sed -i 's/\[.*\]//g' /opt/mlserver/dist/constraints.txt && \
sed -i 's/perf-analyzer==2.59.1/perf-analyzer/g' /opt/mlserver/dist/constraints.txt
RUN cat opt/mlserver/dist/constraints.txt

FROM 724664234782.dkr.ecr.us-east-1.amazonaws.com/docker.io/library/rockylinux:9.3.20231119-minimal
SHELL ["/bin/bash", "-c"]
Expand Down Expand Up @@ -119,9 +121,17 @@ COPY \
./hack/activate-env.sh \
./hack/

#RUN microdnf remove -y python3.9 glib2-devel python-unversioned-command python3-setuptools-wheel python3-libs libX11 libX11-common libX11-xcb libXext mesa-libGL libXfixes libglvnd-glx libXxf86vm
RUN pip install --upgrade certifi tqdm requests urllib3 && pip install --upgrade aiohttp python-multipart starlette
RUN microdnf upgrade -y && microdnf clean all -y
RUN pip install --upgrade setuptools
RUN pip install protobuf==4.25.8
RUN pip install --upgrade transformers==4.53.0 Brotli==1.2.0 keras==3.12.0 starlette==0.49.1 pip
RUN pip install xgboost
RUN pip install Werkzeug==3.1.4
RUN pip install filelock==3.20.1
# RUN microdnf remove -y python3.9 glib2-devel python-unversioned-command python3-setuptools-wheel python3-libs libX11 libX11-common libX11-xcb libXext mesa-libGL libXfixes libglvnd-glx libXxf86vm
RUN microdnf remove -y python3.9 glib2-devel python-unversioned-command python3-setuptools-wheel python3-libs
#libX11 libX11-common libX11-xcb libXext libXfixes libglvnd-glx libXxf86vm

#Remove force remove rpms since these are dependant on microdnf
#RPM uninstall could not find files to uninstall
Expand Down
3 changes: 2 additions & 1 deletion hack/build-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
set -o nounset
set -o errexit
set -o pipefail
# set -x

ROOT_FOLDER="$(dirname "${0}")/.."
IMAGE_NAME="seldonio/mlserver"
Expand All @@ -17,7 +18,7 @@ _buildImage() {
local _runtimes=$1
local _tag=$2

DOCKER_BUILDKIT=1 podman build --cgroup-manager cgroupfs $ROOT_FOLDER \
DOCKER_BUILDKIT=1 podman build --no-cache --cgroup-manager cgroupfs $ROOT_FOLDER \
--build-arg RUNTIMES="$_runtimes" \
-t "$IMAGE_NAME:$_tag"
}
Expand Down
10 changes: 6 additions & 4 deletions hack/build-wheels.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,13 @@ _main() {
# Build MLServer
echo "---> Building MLServer wheel"
_buildWheel . $_outputPath
_buildWheel runtimes/huggingface $_outputPath
_buildWheel runtimes/sklearn $_outputPath

for _runtime in "$ROOT_FOLDER/runtimes/"*; do
echo "---> Building MLServer runtime: '$_runtime'"
_buildWheel $_runtime $_outputPath
done
# for _runtime in "$ROOT_FOLDER/runtimes/"*; do
# echo "---> Building MLServer runtime: '$_runtime'"
# _buildWheel $_runtime $_outputPath
# done
}

_main $1
8,572 changes: 3,942 additions & 4,630 deletions poetry.lock

Large diffs are not rendered by default.

26 changes: 15 additions & 11 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ asyncio_mode = "auto"
addopts = "--import-mode=importlib"

[tool.poetry.dependencies]
python = ">=3.9,<3.12"
python = ">=3.10,<3.12"
click = "*"
fastapi = ">=0.88.0,!=0.89.0,<=0.110.0"
python-dotenv = "*"
Expand All @@ -57,15 +57,19 @@ py-grpc-prometheus = "*"
aiokafka = "*"
# add a min version to tritonclient due to https://github.com/triton-inference-server/server/issues/6246
tritonclient = {version = ">=2.42", extras = ["http"]}

geventhttpclient = "*"
gevent = "*"
aiofiles = "*"
orjson = "*"
uvloop = {version = "*", markers = "sys_platform != 'win32' and (sys_platform != 'cygwin' and platform_python_implementation != 'PyPy')"}
pydantic = "^2.7.1"
pydantic-settings = "^2.2.1"
pydantic = "2.11.7"
pydantic-settings = "2.2.1"
python-multipart = "*"
h11 = "0.16.0"
h11 = "0.16.*"
werkzeug = "^3.0.6"
keras = "3.*"
filelock = "3.20.1"

## The importlib-resources backport is required to use some
## functionality added in Python 3.10
Expand Down Expand Up @@ -116,20 +120,20 @@ httpx-sse = "^0.3.1"

[tool.poetry.group.docker.dependencies]
protobuf = "3.20.3"
tensorflow = "<2.15"
# tensorflow = "<2.15" #TODO(strive): is this really needed?

[tool.poetry.group.all-runtimes]
optional = true

[tool.poetry.group.all-runtimes.dependencies]
mlserver-sklearn = {path = "./runtimes/sklearn", develop = true}
mlserver-xgboost = {path = "./runtimes/xgboost", develop = true}
mlserver-lightgbm = {path = "./runtimes/lightgbm", develop = true}
mlserver-mlflow = {path = "./runtimes/mlflow", develop = true}
# mlserver-xgboost = {path = "./runtimes/xgboost", develop = true}
# mlserver-lightgbm = {path = "./runtimes/lightgbm", develop = true}
# mlserver-mlflow = {path = "./runtimes/mlflow", develop = true}
mlserver-huggingface = {path = "./runtimes/huggingface", develop = true}
mlserver-alibi-explain = {path = "./runtimes/alibi-explain", develop = true}
mlserver-alibi-detect = {path = "./runtimes/alibi-detect", develop = true}
mlserver-catboost = {path = "./runtimes/catboost", develop = true}
# mlserver-alibi-explain = {path = "./runtimes/alibi-explain", develop = true}
# mlserver-alibi-detect = {path = "./runtimes/alibi-detect", develop = true}
# mlserver-catboost = {path = "./runtimes/catboost", develop = true}

[tool.poetry.group.all-runtimes-dev]
optional = true
Expand Down
2 changes: 1 addition & 1 deletion runtimes/alibi-detect/poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion runtimes/alibi-detect/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ packages = [{include = "mlserver_alibi_detect"}]
python = ">=3.9,<3.12"
mlserver = "*"
alibi-detect = {extras = ["tensorflow"], version = "*"}
pydantic = "2.7.1"
pydantic = "2.11.7"

[tool.poetry.group.dev.dependencies]
mlserver = {path = "../..", develop = true}
Expand Down
2 changes: 1 addition & 1 deletion runtimes/alibi-explain/poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion runtimes/alibi-explain/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ mlserver_xgboost = "*"
mlserver_lightgbm = "*"
orjson = "*"
alibi = {extras = ["shap", "tensorflow"], version = "*"}
pydantic = "2.7.1"
pydantic = "2.11.7"

[tool.poetry.group.dev.dependencies]
mlserver = {path = "../..", develop = true}
Expand Down
Loading
Loading