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
4 changes: 2 additions & 2 deletions .github/workflows/merlin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10"]
python-version: ["3.9", "3.10"]
env:
PIPENV_DEFAULT_PYTHON_VERSION: ${{ matrix.python-version }}
PIPENV_VENV_IN_PROJECT: true
Expand Down Expand Up @@ -78,7 +78,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10"]
python-version: ["3.9", "3.10"]
env:
PIPENV_DEFAULT_PYTHON_VERSION: ${{ matrix.python-version }}
PIPENV_VENV_IN_PROJECT: true
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: 3.9
cache: pip
- name: Install dependencies
working-directory: ./python/sdk
Expand All @@ -51,7 +51,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: 3.9
cache: pip
- name: Install dependencies
working-directory: ./python/pyfunc-server
Expand Down Expand Up @@ -79,7 +79,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: 3.9
cache: pip
- name: Install dependencies
working-directory: ./python/batch-predictor
Expand All @@ -101,7 +101,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10"]
python-version: ["3.9", "3.10"]
needs:
- publish-python-sdk
steps:
Expand Down
2 changes: 1 addition & 1 deletion .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ sphinx:

# Optionally set the version of Python and requirements required to build your docs
python:
version: 3.8
version: 3.9
install:
- requirements: python/sdk/docs/requirements_docs.txt
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ TEST_TAGS?=
GOLANGCI_LINT_VERSION="v1.58.1"
PROTOC_GEN_GO_JSON_VERSION="v1.1.0"
PROTOC_GEN_GO_VERSION="v1.26"
PYTHON_VERSION ?= "39" #set as 38 39 310 for 3.8-3.10 respectively
PYTHON_VERSION ?= "39" #set as 39 310 for 3.9-3.10 respectively

all: setup init-dep lint test clean build run

Expand Down
2 changes: 1 addition & 1 deletion api/api/versions_api.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import (
"gorm.io/gorm"
)

const DEFAULT_PYTHON_VERSION = "3.8.*"
const DEFAULT_PYTHON_VERSION = "3.9.*"

type VersionsController struct {
*AppContext
Expand Down
2 changes: 1 addition & 1 deletion api/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ type ImageBuilderConfig struct {
MaximumRetry int32 `validate:"required" default:"3"`
K8sConfig *mlpcluster.K8sConfig `validate:"required" default:"-"`
SafeToEvict bool `default:"false"`
// Supported Python versions for image builder. Example: ["3.8.*", "3.9.*", "3.10.*"]
// Supported Python versions for image builder. Example: ["3.9.*", "3.10.*"]
SupportedPythonVersions []string
}

Expand Down
2 changes: 1 addition & 1 deletion api/config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ func TestLoad(t *testing.T) {
Name: "dev-server",
},
SafeToEvict: false,
SupportedPythonVersions: []string{"3.8.*", "3.9.*", "3.10.*"},
SupportedPythonVersions: []string{"3.9.*", "3.10.*"},
},
BatchConfig: BatchConfig{
Tolerations: []v1.Toleration{
Expand Down
1 change: 0 additions & 1 deletion api/config/testdata/base-configs-1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ ImageBuilderConfig:
provideClusterInfo: true
SafeToEvict: false
SupportedPythonVersions:
- 3.8.*
- 3.9.*
- 3.10.*
BatchConfig:
Expand Down
4 changes: 2 additions & 2 deletions api/pkg/imagebuilder/imagebuilder_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ const (
testArtifactURISuffix = "://bucket-name/mlflow/11/68eb8538374c4053b3ecad99a44170bd/artifacts"
testCondaEnvUrlSuffix = testArtifactURISuffix + "/model/conda.yaml"
testCondaEnvContent = `dependencies:
- python=3.8.*
- python=3.9.*
- pip:
- mlflow
- joblib
Expand Down Expand Up @@ -121,7 +121,7 @@ var (
"--use-new-run",
}

defaultSupportedPythonVersions = []string{"3.8.*", "3.9.*", "3.10.*"}
defaultSupportedPythonVersions = []string{"3.9.*", "3.10.*"}

configWithGCRPushRegistry = Config{
BuildNamespace: testBuildNamespace,
Expand Down
2 changes: 1 addition & 1 deletion docs/developer/e2e-test.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Run E2E test as part of github actions workflow. This E2E test will be triggered
- Pull merlin repository
- Pull mlp repository
- Setup go
- Setup python 3.8
- Setup python 3.9
- Setup cluster
- Setup mlp namespace
- Deploy mlp
Expand Down
2 changes: 1 addition & 1 deletion examples/metrics/env.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
dependencies:
- python=3.8
- python=3.9
2 changes: 1 addition & 1 deletion examples/pyfunc-upi/env.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
dependencies:
- python=3.8
- python=3.9
- pip:
- numpy
- xgboost==1.6.2
2 changes: 1 addition & 1 deletion examples/pyfunc/env.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
dependencies:
- python=3.8
- python=3.9
- pip:
- joblib>=0.13.0,<1.2.0 # >=1.2.0 upon upgrade of kserve's version
- scikit-learn>=1.1.2
Expand Down
2 changes: 1 addition & 1 deletion examples/transformer/custom-transformer/env.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
dependencies:
- python=3.8
- python=3.9
- pip:
- torch==1.3.1
- torchvision==0.4.2
2 changes: 1 addition & 1 deletion examples/transformer/feast-enricher-transformer/env.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
dependencies:
- python=3.8
- python=3.9
2 changes: 1 addition & 1 deletion examples/transformer/standard-transformer/env.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
dependencies:
- python=3.8
- python=3.9
2 changes: 1 addition & 1 deletion examples/transformer/upi/env.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
dependencies:
- python=3.8
- python=3.9
2 changes: 1 addition & 1 deletion python/batch-predictor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES python main.py --job-name iris-predictio

### Requirements

- python >= 3.8.0
- python >= 3.9.0
- pipenv (install using `pip install pipenv`)
- protoc (see [installation instruction](http://google.github.io/proto-lens/installing-protoc.html))
- gcloud (see [installation instruction](https://cloud.google.com/sdk/install))
Expand Down
2 changes: 1 addition & 1 deletion python/batch-predictor/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
description="Base PySpark application for running Merlin prediction batch job",
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
python_requires=">=3.8,<3.11",
python_requires=">=3.9,<3.11",
packages=find_packages(exclude=["test"]),
install_requires=REQUIRE,
tests_require=TESTS_REQUIRE,
Expand Down
2 changes: 1 addition & 1 deletion python/batch-predictor/test-model/MLmodel
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ flavors:
env: conda.yaml
loader_module: mlflow.pyfunc.model
python_model: python_model.pkl
python_version: 3.8.18
python_version: 3.9.22
mlflow_version: 1.26.1
model_uuid: 49ff290d6d854ee3ad83f6233ad891b9
run_id: d65892b5f2f44cbaae64c682c61bccd6
Expand Down
2 changes: 1 addition & 1 deletion python/batch-predictor/test-model/conda.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
dependencies:
- python=3.8.*
- python=3.9.*
- pip:
- mlflow
- joblib>=0.13.0,<1.2.0
Expand Down
2 changes: 1 addition & 1 deletion python/batch-predictor/test-model/python_env.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
python: 3.8.18
python: 3.9.22
build_dependencies:
- pip==24.0
- setuptools==69.0.3
Expand Down
23 changes: 15 additions & 8 deletions python/observation-publisher/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ botocore==1.35.39
# s3transfer
cachetools==5.3.2
# via google-auth
caraml-auth-google==0.0.0.post7
caraml-auth-google==0.0.0.post9
# via merlin-sdk
caraml-upi-protos==1.0.0
# via
Expand Down Expand Up @@ -112,9 +112,13 @@ googleapis-common-protos==1.62.0
# caraml-upi-protos
# google-api-core
grpcio==1.60.1
# via grpcio-tools
# via
# grpcio-tools
# merlin-sdk
grpcio-tools==1.60.1
# via caraml-upi-protos
# via
# caraml-upi-protos
# merlin-sdk
gunicorn==21.2.0
# via mlflow
hydra-core==1.3.2
Expand Down Expand Up @@ -150,7 +154,7 @@ mlflow==1.26.1
# via merlin-sdk
mypy-extensions==1.0.0
# via typing-inspect
numpy==1.23.5
numpy==1.26.4
# via
# merlin-sdk
# mlflow
Expand Down Expand Up @@ -189,7 +193,9 @@ protobuf==4.25.3
# merlin-sdk
# mlflow
pyarrow==15.0.0
# via arize
# via
# arize
# pyodps
pyasn1==0.5.1
# via
# pyasn1-modules
Expand All @@ -204,6 +210,8 @@ pygments==2.17.2
# via rich
pyjwt==2.8.0
# via databricks-cli
pyodps==0.12.2
# via -r requirements.in
pyprind==2.11.3
# via merlin-sdk
python-dateutil==2.8.2
Expand Down Expand Up @@ -236,6 +244,7 @@ requests==2.31.0
# google-cloud-bigquery
# google-cloud-storage
# mlflow
# pyodps
# requests-futures
requests-futures==1.0.0
# via arize
Expand Down Expand Up @@ -275,7 +284,6 @@ typing-extensions==4.9.0
# alembic
# pydantic
# pydantic-core
# sqlalchemy
# typing-inspect
typing-inspect==0.9.0
# via dataclasses-json
Expand All @@ -294,7 +302,6 @@ werkzeug==3.0.1
# via flask
zipp==3.17.0
# via importlib-metadata
pyodps==0.12.2

# The following packages are considered to be unsafe in a requirements file:
# setuptools
# setuptools
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ verify_ssl = true
merlin-sdk = "=={{ cookiecutter.merlin_sdk_version }}"

[requires]
python_version = "3.8"
python_version = "3.9"
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
dependencies:
- python=3.8
- python=3.9
4 changes: 2 additions & 2 deletions python/pyfunc-server/pyfuncserver/utils/contants.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
conda env.yaml that you pass to log_pyfunc method, e.g.:

dependencies:
- python=3.8
- python=3.9
- pip:
- my-missing-package==1.0

OR if the package is not available in PyPI distribution

dependencies:
- python=3.8
- python=3.9
- my-missing-package=1.0

See: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#creating-an-environment-from-an-environment-yml-file
Expand Down
2 changes: 1 addition & 1 deletion python/pyfunc-server/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
description="Model Server implementation for Merlin PyFunc model",
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
python_requires=">=3.8,<3.11",
python_requires=">=3.9,<3.11",
packages=find_packages(exclude=["test"]),
install_requires=REQUIRE,
tests_require=TESTS_REQUIRE,
Expand Down
2 changes: 1 addition & 1 deletion python/pyfunc-server/test/local-artifacts/MLmodel
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ flavors:
env: conda.yaml
loader_module: mlflow.pyfunc.model
python_model: python_model.pkl
python_version: 3.8.18
python_version: 3.9.22
mlflow_version: 1.26.1
model_uuid: 126ccf3f97024b43a011b5aee072010c
run_id: 74232b10e8064ccda29611c265921034
Expand Down
2 changes: 1 addition & 1 deletion python/pyfunc-server/test/local-artifacts/conda.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
dependencies:
- python=3.8.*
- python=3.9.*
- pip:
- mlflow
- joblib>=0.13.0,<1.2.0
Expand Down
2 changes: 1 addition & 1 deletion python/pyfunc-server/test/local-artifacts/python_env.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
python: 3.8.18
python: 3.9.22
build_dependencies:
- pip==24.0
- setuptools==69.0.3
Expand Down
2 changes: 1 addition & 1 deletion python/sdk/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG PYTHON_VERSION=3.8
ARG PYTHON_VERSION=3.9
FROM python:${PYTHON_VERSION}-slim-buster

LABEL org.opencontainers.image.source https://github.com/caraml-dev/merlin
Expand Down
4 changes: 2 additions & 2 deletions python/sdk/merlin/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -1007,9 +1007,9 @@ def log_pyfunc_model(
"log_pyfunc_model is only for PyFunc, PyFuncV2 and PyFuncV3 model"
)

merlin_requirements = ["merlin-pyfunc-server<0.46.0"]
merlin_requirements = ["merlin-pyfunc-server<0.49.0"]
if self._model.type == ModelType.PYFUNC_V2:
merlin_requirements = ["merlin-batch-predictor<0.46.0"]
merlin_requirements = ["merlin-batch-predictor<0.49.0"]

# add/replace python version in conda to match that used to create model version
conda_env = process_conda_env(
Expand Down
2 changes: 1 addition & 1 deletion python/sdk/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ PyYAML>=5.4
six>=1.10
urllib3>=1.26
numpy>=1.26.4
caraml-auth-google==0.0.0.post16.dev0
caraml-auth-google==0.0.0.post9
pydantic==2.5.3
grpcio-tools>=1.50.0,<1.63
grpcio>=1.60.1
Loading