Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependency cleanup and Python 3.12 support #2953

Merged
merged 96 commits into from
Sep 3, 2024
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
3f8c142
dependency cleanup
bcdurak Aug 27, 2024
b24a0ec
adding 3.12 to tests
bcdurak Aug 27, 2024
91d4446
integration changes
bcdurak Aug 27, 2024
7428594
removed pandas and numpy from the main package
bcdurak Aug 27, 2024
7ea24e0
formatting
bcdurak Aug 27, 2024
651c78f
init files fixed
bcdurak Aug 27, 2024
999f41f
removing pd from base abstraction
bcdurak Aug 27, 2024
b393d76
ignoring mlflow huggingface and tensorflow for now
bcdurak Aug 27, 2024
c5ef3aa
moving the materializer tests to integration tests
bcdurak Aug 27, 2024
87f81b7
missing licenses
bcdurak Aug 28, 2024
c36b4b2
formatting
bcdurak Aug 28, 2024
20a0558
relaxed maison to <2.0
bcdurak Aug 28, 2024
4fe85b0
proper formatting
bcdurak Aug 28, 2024
b7142a1
integration changes
bcdurak Aug 28, 2024
786db93
integration fixes again
bcdurak Aug 28, 2024
d43f47e
resolving huggingface conflicts
bcdurak Aug 28, 2024
e93f0ea
switch the pandas test to pydantic
bcdurak Aug 28, 2024
645022f
first test
bcdurak Aug 28, 2024
6e78cc4
added mocked libs
bcdurak Aug 28, 2024
745c133
change the template
bcdurak Aug 28, 2024
a86b46b
migration testing
bcdurak Aug 28, 2024
a740017
fixing the templates and setuptools
bcdurak Aug 28, 2024
5b4d254
Auto-update of Starter template
actions-user Aug 28, 2024
5eba9db
fixing linting issues
bcdurak Aug 28, 2024
175b012
merge
bcdurak Aug 28, 2024
5edd731
adding temp mlstacks
bcdurak Aug 28, 2024
e931ed0
adding the old materializers back
bcdurak Aug 28, 2024
4fa0f52
mlflow fixes
bcdurak Aug 29, 2024
1b0467e
tensorflow ignored on 3.12
bcdurak Aug 29, 2024
ec28644
linting
bcdurak Aug 29, 2024
e3258ba
added a warning for tensorflow on 3.12
bcdurak Aug 29, 2024
f5b3925
typo
bcdurak Aug 29, 2024
dbbff16
merged develop
bcdurak Aug 29, 2024
17d23e6
preparing to run on slow CI
bcdurak Aug 29, 2024
5573ff1
small typo
bcdurak Aug 29, 2024
c4bb7ff
new template versions
bcdurak Aug 29, 2024
0fc920e
moved materializers inside
bcdurak Aug 29, 2024
91b3862
added 3.12 to classifiers
bcdurak Aug 29, 2024
376619d
Auto-update of LLM Finetuning template
actions-user Aug 29, 2024
3d97e52
Auto-update of E2E template
actions-user Aug 29, 2024
e7aa9dc
Auto-update of NLP template
actions-user Aug 29, 2024
d8b1405
adapting the feast int as well
bcdurak Aug 29, 2024
51dc15e
fixing the migration tests
bcdurak Aug 29, 2024
d16263a
relaxed deepchecks, disabled tests and installation on 3.12
bcdurak Aug 29, 2024
6804f90
merge
bcdurak Aug 29, 2024
d495ce4
Auto-update of E2E template
actions-user Aug 29, 2024
301247a
new try
bcdurak Aug 29, 2024
6f3a2f9
merge
bcdurak Aug 29, 2024
2e8e293
fixing the version
bcdurak Aug 29, 2024
bda0fc5
disabled some checks
bcdurak Aug 29, 2024
9ecb49d
added the right integration to tests
bcdurak Aug 30, 2024
a4cfb23
added an error for the failing imports
bcdurak Aug 30, 2024
813951f
migration scripts fixes
bcdurak Aug 30, 2024
3f2cbe4
ignore windows 3.12
bcdurak Aug 30, 2024
d2a70c8
fixed the checks
bcdurak Aug 30, 2024
e936c84
fixed comment
bcdurak Aug 30, 2024
2b35bfa
fixed the required integrations
bcdurak Aug 30, 2024
ed251d0
formatting
bcdurak Aug 30, 2024
7270ec9
merged develop
bcdurak Aug 30, 2024
4ff045e
Update src/zenml/integrations/deepchecks/validation_checks.py
bcdurak Aug 30, 2024
818fc59
Update src/zenml/integrations/deepchecks/validation_checks.py
bcdurak Aug 30, 2024
dfc1a1c
Update src/zenml/integrations/deepchecks/validation_checks.py
bcdurak Aug 30, 2024
ed3d07b
removed commented out checks
bcdurak Aug 30, 2024
d82eabe
huggingface
bcdurak Aug 30, 2024
30e937f
merge
bcdurak Aug 30, 2024
fad1fdf
Update tests/integration/integrations/tensorflow/materializers/test_k…
bcdurak Aug 30, 2024
0122856
Update tests/integration/integrations/tensorflow/materializers/test_t…
bcdurak Aug 30, 2024
a115d88
Update tests/integration/integrations/deepchecks/test_validation_chec…
bcdurak Aug 30, 2024
6b80504
Update tests/integration/integrations/deepchecks/materializers/test_d…
bcdurak Aug 30, 2024
ae5589a
Update tests/integration/integrations/deepchecks/materializers/test_d…
bcdurak Aug 30, 2024
265596a
Update src/zenml/zen_server/utils.py
bcdurak Aug 30, 2024
5eb5359
Update tests/integration/examples/test_deepchecks.py
bcdurak Aug 30, 2024
2823f67
Update tests/integration/integrations/deepchecks/data_validators/test…
bcdurak Aug 30, 2024
51b48cd
Update tests/integration/integrations/deepchecks/materializers/test_d…
bcdurak Aug 30, 2024
6ab7e59
changes to the docstring and error
bcdurak Aug 30, 2024
6bfcd59
skimage as a requirement now
bcdurak Aug 30, 2024
f3b0e7d
Merge branch 'develop' into feature/PRD-566-dependency-cleanup
bcdurak Aug 31, 2024
5235b5d
resolving some tests
bcdurak Sep 1, 2024
98c92b3
merged
bcdurak Sep 1, 2024
fd356de
using discord instead of kubeflow
bcdurak Sep 1, 2024
5631c04
try upgrading pydantic
bcdurak Sep 2, 2024
d0fc578
lets try this first
bcdurak Sep 2, 2024
1ca2bf1
bumping pydantic
bcdurak Sep 2, 2024
9d95530
typo
bcdurak Sep 2, 2024
3d4a328
Update pyproject.toml
bcdurak Sep 2, 2024
5102cbd
for mlstacks
bcdurak Sep 2, 2024
b2ec5be
improved explanation
bcdurak Sep 2, 2024
ce96a0f
Merge branch 'develop' into feature/PRD-566-dependency-cleanup
bcdurak Sep 2, 2024
a573668
removed secure headers to a different file
bcdurak Sep 3, 2024
61ec239
Merge branch 'develop' into feature/PRD-566-dependency-cleanup
bcdurak Sep 3, 2024
b486e67
Merge branch 'develop' into feature/PRD-566-dependency-cleanup
bcdurak Sep 3, 2024
cb6623f
adding main back
bcdurak Sep 3, 2024
4c6a5d7
Auto-update of LLM Finetuning template
actions-user Sep 3, 2024
81d5c40
Auto-update of E2E template
actions-user Sep 3, 2024
f9e951c
Auto-update of NLP template
actions-user Sep 3, 2024
d3dad36
Auto-update of Starter template
actions-user Sep 3, 2024
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
6 changes: 4 additions & 2 deletions .github/workflows/ci-fast.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ jobs:
strategy:
matrix:
os: [arc-runner-set]
python-version: ['3.10']
# TODO: REVERT
python-version: ['3.12']
fail-fast: false
uses: ./.github/workflows/unit-test.yml
with:
Expand All @@ -99,7 +100,8 @@ jobs:
strategy:
matrix:
os: [arc-runner-set]
python-version: ['3.10']
# TODO: REVERT
python-version: ['3.12']
test_environment: [default, docker-server-docker-orchestrator-mysql]
fail-fast: false
uses: ./.github/workflows/integration-test-fast.yml
Expand Down
20 changes: 15 additions & 5 deletions .github/workflows/ci-slow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,9 @@ jobs:
strategy:
matrix:
os: [arc-runner-set]
python-version: ['3.8', '3.9', '3.10', '3.11']
# python-version: ['3.8', '3.9', '3.10', '3.11']
# TODO: REVERT
python-version: ['3.12']
fail-fast: false
uses: ./.github/workflows/unit-test.yml
with:
Expand All @@ -212,7 +214,9 @@ jobs:
strategy:
matrix:
os: [windows-latest]
python-version: ['3.8', '3.9', '3.10', '3.11']
# python-version: ['3.8', '3.9', '3.10', '3.11']
# TODO: REVERT
python-version: ['3.12']
fail-fast: false
uses: ./.github/workflows/unit-test.yml
with:
Expand All @@ -225,7 +229,9 @@ jobs:
strategy:
matrix:
os: [macos-latest]
python-version: ['3.8', '3.9', '3.10', '3.11']
# python-version: ['3.8', '3.9', '3.10', '3.11']
# TODO: REVERT
python-version: ['3.12']
# Python 3.8 and 3.9 is on macos-13 but not macos-latest (macos-14-arm64)
# https://github.com/actions/setup-python/issues/696#issuecomment-1637587760
exclude:
Expand All @@ -246,7 +252,9 @@ jobs:
strategy:
matrix:
os: [windows-latest]
python-version: ['3.8', '3.9', '3.10', '3.11']
# python-version: ['3.8', '3.9', '3.10', '3.11']
# TODO: REVERT
python-version: ['3.12']
test_environment: [default]
fail-fast: false
uses: ./.github/workflows/integration-test-slow.yml
Expand All @@ -261,7 +269,9 @@ jobs:
strategy:
matrix:
os: [macos-13]
python-version: ['3.8', '3.9', '3.10', '3.11']
# python-version: ['3.8', '3.9', '3.10', '3.11']
# TODO: REVERT
python-version: ['3.12']
# Python 3.8 and 3.9 is on macos-13 but not macos-latest (macos-14-arm64)
# https://github.com/actions/setup-python/issues/696#issuecomment-1637587760
exclude:
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/integration-test-fast.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,10 @@ on:
python-version:
description: Python version
type: choice
options: ['3.8', '3.9', '3.10', '3.11']
# TODO: REVERT
options: ['3.12']
required: false
default: '3.8'
default: '3.12'
test_environment:
description: The test environment
type: choice
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/integration-test-slow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,10 @@ on:
python-version:
description: Python version
type: choice
options: ['3.8', '3.9', '3.10', '3.11']
# TODO: REVERT
options: ['3.12']
required: false
default: '3.8'
default: '3.12'
test_environment:
description: The test environment
type: choice
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/templates-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,10 @@ on:
python-version:
description: Python version
type: choice
options: ['3.8', '3.9', '3.10', '3.11']
# TODO: REVERT
options: ['3.12']
required: false
default: '3.8'
default: '3.12'
jobs:
all-template-tests:
name: all-template-tests
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/unit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,10 @@ on:
python-version:
description: Python version
type: choice
options: ['3.8', '3.9', '3.10', '3.11']
# TODO: REVERT
options: ['3.12']
required: false
default: '3.8'
default: '3.12'
enable_tmate:
description: Enable tmate session for debugging
type: choice
Expand Down
13 changes: 6 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -44,26 +44,20 @@ zenml = "zenml.cli.cli:cli"
alembic = { version = "~1.8.1" }
bcrypt = { version = "4.0.1" }
click = "^8.0.1,<8.1.4"
click-params = "^0.3.0"
cloudpickle = ">=2.0.0,<3"
distro = "^1.6.0"
docker = "~7.1.0"
httplib2 = "<0.20,>=0.19.1"
gitpython = "^3.1.18"
numpy = "<2.0.0"
packaging = ">=24.1"
pandas = ">=1.1.5"
passlib = { extras = ["bcrypt"], version = "~1.7.4" }
psutil = ">=5.0.0"
pydantic = "~2.7"
pydantic-settings = "~2.2.1"
pymysql = { version = "~1.1.0,>=1.1.1" }
pyparsing = ">=2.4.0"
python = ">=3.8,<3.12"
python = ">=3.8,<3.13"
python-dateutil = "^2.8.1"
pyyaml = ">=6.0.1"
rich = { extras = ["jupyter"], version = ">=12.0.0" }
secure = "~0.3.0"
sqlalchemy = "^2.0.0"
sqlalchemy_utils = "*"
sqlmodel = "0.0.18"
Expand All @@ -77,6 +71,7 @@ pyjwt = { extras = ["crypto"], version = "2.7.*", optional = true }
orjson = { version = "~3.10.0", optional = true }
Jinja2 = { version = "*", optional = true }
ipinfo = { version = ">=4.4.3", optional = true }
secure = { version = "~0.3.0" , optional = true }

# Optional dependencies for project templates
copier = { version = ">=8.1.0", optional = true }
Expand Down Expand Up @@ -137,6 +132,7 @@ typing-extensions = { version = ">=3.7.4", optional = true }
darglint = { version = "^1.8.1", optional = true }
ruff = { version = ">=0.1.7", optional = true }
yamlfix = { version = "^1.16.0", optional = true }
maison= { version = "^1.4.3", optional = true }

# pytest
pytest = { version = "^7.4.0", optional = true }
Expand All @@ -153,6 +149,7 @@ mkdocs-material = { version = "^8.1.7", optional = true }
mkdocs-awesome-pages-plugin = { version = "^2.6.1", optional = true }
mkdocstrings = { version = "^0.17.0", optional = true }
mike = { version = "^1.1.2", optional = true }

# mypy type stubs
types-certifi = { version = "^2021.10.8.0", optional = true }
types-croniter = { version = "^1.0.2", optional = true }
Expand Down Expand Up @@ -186,6 +183,7 @@ server = [
"orjson",
"Jinja2",
"ipinfo",
"secure",
]
templates = ["copier", "jinja2-time", "ruff", "pyyaml-include"]
terraform = ["python-terraform"]
Expand Down Expand Up @@ -237,6 +235,7 @@ dev = [
"mkdocs-awesome-pages-plugin",
"mkdocstrings",
"mike",
"maison",
bcdurak marked this conversation as resolved.
Show resolved Hide resolved
"types-certifi",
"types-croniter",
"types-futures",
Expand Down
5 changes: 3 additions & 2 deletions scripts/install-zenml-dev.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,16 @@ parse_args () {

install_zenml() {
# install ZenML in editable mode
uv pip install $PIP_ARGS -e ".[server,templates,terraform,secrets-aws,secrets-gcp,secrets-azure,secrets-hashicorp,s3fs,gcsfs,adlfs,dev,mlstacks]"
uv pip install $PIP_ARGS -e ".[server,templates,terraform,secrets-aws,secrets-gcp,secrets-azure,secrets-hashicorp,s3fs,gcsfs,adlfs,dev]"
}

install_integrations() {

# figure out the python version
python_version=$(python -c "import sys; print('.'.join(map(str, sys.version_info[:2])))")

ignore_integrations="feast label_studio bentoml seldon pycaret skypilot_aws skypilot_gcp skypilot_azure pigeon prodigy"
# TODO: Add mlflow, huggingface and tensorflow back in
ignore_integrations="feast label_studio bentoml seldon pycaret skypilot_aws skypilot_gcp skypilot_azure pigeon prodigy mlflow tensorflow huggingface"

# turn the ignore integrations into a list of --ignore-integration args
ignore_integrations_args=""
Expand Down
10 changes: 4 additions & 6 deletions src/zenml/feature_stores/base_feature_store.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@
"""The base class for feature stores."""

from abc import ABC, abstractmethod
from typing import Any, Dict, List, Type, Union, cast

import pandas as pd
from typing import Any, Dict, List, Type, cast

from zenml.enums import StackComponentType
from zenml.stack import Flavor, StackComponent
Expand All @@ -42,10 +40,10 @@ def config(self) -> BaseFeatureStoreConfig:
@abstractmethod
def get_historical_features(
self,
entity_df: Union[pd.DataFrame, str],
entity_df: Any,
features: List[str],
full_feature_names: bool = False,
) -> pd.DataFrame:
) -> Any:
"""Returns the historical features for training or batch scoring.

Args:
Expand All @@ -54,7 +52,7 @@ def get_historical_features(
full_feature_names: Whether to return the full feature names.

Returns:
The historical features as a Pandas DataFrame.
The historical features.
"""

@abstractmethod
Expand Down
4 changes: 3 additions & 1 deletion src/zenml/integrations/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@
from zenml.integrations.mlflow import MlflowIntegration # noqa
from zenml.integrations.neptune import NeptuneIntegration # noqa
from zenml.integrations.neural_prophet import NeuralProphetIntegration # noqa
from zenml.integrations.openai import OpenAIIntegration # noqa
from zenml.integrations.numpy import NumpyIntegration # noqa
from zenml.integrations.openai import OpenAIIntegration #
from zenml.integrations.pandas import PandasIntegration # noqa
from zenml.integrations.pigeon import PigeonIntegration # noqa
from zenml.integrations.pillow import PillowIntegration # noqa
from zenml.integrations.polars import PolarsIntegration # noqa
Expand Down
2 changes: 2 additions & 0 deletions src/zenml/integrations/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@
MLFLOW = "mlflow"
NEPTUNE = "neptune"
NEURAL_PROPHET = "neural_prophet"
NUMPY = "numpy"
OPEN_AI = "openai"
PANDAS = "pandas"
PIGEON = "pigeon"
PILLOW = "pillow"
PLOTLY = "plotly"
Expand Down
4 changes: 3 additions & 1 deletion src/zenml/integrations/databricks/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ class DatabricksIntegration(Integration):
"""Definition of Databricks Integration for ZenML."""

NAME = DATABRICKS
REQUIREMENTS = ["databricks-sdk==0.28.0"]
REQUIREMENTS = ["databricks-sdk==0.28.0", "numpy<2.0.0", "pandas>=2.0.0"]

REQUIREMENTS_IGNORED_ON_UNINSTALL = ["numpy", "pandas"]

@classmethod
def flavors(cls) -> List[Type[Flavor]]:
Expand Down
5 changes: 4 additions & 1 deletion src/zenml/integrations/deepchecks/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,13 @@ class DeepchecksIntegration(Integration):
REQUIREMENTS = [
"deepchecks[vision]==0.8.0",
"torchvision>=0.14.0",
"pandas<2.0.0",
"opencv-python==4.5.5.64", # pin to same version
"opencv-python-headless==4.5.5.64", # pin to same version
"tenacity!=8.4.0", # https://github.com/jd/tenacity/issues/471
# Deepchecks materializer inherits from the PandasMaterializer, thus
bcdurak marked this conversation as resolved.
Show resolved Hide resolved
# we need to put the requirements of the pandas integration here as
# well.
"pandas>=2.0.0",
]
APT_PACKAGES = ["ffmpeg", "libsm6", "libxext6"]
REQUIREMENTS_IGNORED_ON_UNINSTALL = ["pandas","torchvision","tenacity"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
from deepchecks.tabular import Dataset

from zenml.enums import ArtifactType, VisualizationType
from zenml.materializers.pandas_materializer import PandasMaterializer
from zenml.integrations.pandas.materializers.pandas_materializer import (
PandasMaterializer,
)

if TYPE_CHECKING:
from zenml.metadata.metadata_types import MetadataType
Expand Down
3 changes: 2 additions & 1 deletion src/zenml/integrations/evidently/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,9 @@ class EvidentlyIntegration(Integration):
REQUIREMENTS = [
"evidently>=0.4.16,<=0.4.22",
"tenacity!=8.4.0", # https://github.com/jd/tenacity/issues/471
"pandas>=2.0.0",
]
REQUIREMENTS_IGNORED_ON_UNINSTALL = ["tenacity"]
REQUIREMENTS_IGNORED_ON_UNINSTALL = ["tenacity", "pandas"]

@classmethod
def flavors(cls) -> List[Type[Flavor]]:
Expand Down
2 changes: 1 addition & 1 deletion src/zenml/integrations/facets/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class FacetsIntegration(Integration):
"""Definition of Facets integration for ZenML."""

NAME = FACETS
REQUIREMENTS = ["facets-overview>=1.0.0", "pandas"]
REQUIREMENTS = ["facets-overview>=1.0.0", "pandas>=2.0.0"]
REQUIREMENTS_IGNORED_ON_UNINSTALL = ["pandas"]

@staticmethod
Expand Down
4 changes: 2 additions & 2 deletions src/zenml/integrations/feast/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ class FeastIntegration(Integration):
NAME = FEAST
# click is added to keep the feast click version
# in sync with ZenML's click
REQUIREMENTS = ["feast<=0.37.1", "click>=8.0.1,<8.1.4"]
REQUIREMENTS_IGNORED_ON_UNINSTALL = ["click"]
REQUIREMENTS = ["feast<=0.37.1", "click>=8.0.1,<8.1.4", "pandas>=2.0.0"]
REQUIREMENTS_IGNORED_ON_UNINSTALL = ["click", "pandas"]

@classmethod
def flavors(cls) -> List[Type[Flavor]]:
Expand Down
5 changes: 4 additions & 1 deletion src/zenml/integrations/great_expectations/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,12 @@ class GreatExpectationsIntegration(Integration):

NAME = GREAT_EXPECTATIONS
REQUIREMENTS = [
"great-expectations>=0.17.15,<1.0",
"great-expectations>=0.17.15,<1.0","pandas>=2.0.0"
]


REQUIREMENTS_IGNORED_ON_UNINSTALL = ["pandas"]

@staticmethod
def activate() -> None:
"""Activate the Great Expectations integration."""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,11 @@
from datasets.dataset_dict import DatasetDict

from zenml.enums import ArtifactType, VisualizationType
from zenml.integrations.pandas.materializers.pandas_materializer import (
PandasMaterializer,
)
from zenml.io import fileio
from zenml.materializers.base_materializer import BaseMaterializer
from zenml.materializers.pandas_materializer import PandasMaterializer
from zenml.utils import io_utils

if TYPE_CHECKING:
Expand Down
4 changes: 3 additions & 1 deletion src/zenml/integrations/mlflow/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ class MlflowIntegration(Integration):
"mlflow>=2.1.1,<3",
"mlserver>=1.3.3",
"mlserver-mlflow>=1.3.3",
"numpy<2.0.0",
"pandas>=2.0.0",
# TODO: remove this requirement once rapidjson is fixed
"python-rapidjson<1.15",
# When you do:
Expand All @@ -48,7 +50,7 @@ class MlflowIntegration(Integration):
"pydantic>=2.7.0,<2.8.0",
]

REQUIREMENTS_IGNORED_ON_UNINSTALL = ["python-rapidjson", "pydantic"]
REQUIREMENTS_IGNORED_ON_UNINSTALL = ["python-rapidjson", "pydantic", 'numpy', 'pandas']

@classmethod
def activate(cls) -> None:
Expand Down
Loading
Loading