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 all 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
15 changes: 8 additions & 7 deletions .github/workflows/ci-slow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,8 @@ jobs:
run: |
source .venv/bin/activate
uv pip install -e .
uv pip install mlstacks
# TODO: Remove and add mlstacks back in
uv pip install git+https://github.com/zenml-io/mlstacks.git@feature/upgrade-python-3.12
- name: Check for broken dependencies
run: |
source .venv/bin/activate
Expand Down Expand Up @@ -199,7 +200,7 @@ 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', '3.12']
fail-fast: false
uses: ./.github/workflows/unit-test.yml
with:
Expand All @@ -212,7 +213,7 @@ 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', '3.12']
fail-fast: false
uses: ./.github/workflows/unit-test.yml
with:
Expand All @@ -225,7 +226,7 @@ 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', '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 +247,7 @@ 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', '3.12']
test_environment: [default]
fail-fast: false
uses: ./.github/workflows/integration-test-slow.yml
Expand All @@ -261,7 +262,7 @@ 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', '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 @@ -284,7 +285,7 @@ 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', '3.12']
test_environment:
- default
- docker-server-docker-orchestrator-mysql
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration-test-fast.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ on:
python-version:
description: Python version
type: choice
options: ['3.8', '3.9', '3.10', '3.11']
options: ['3.8', '3.9', '3.10', '3.11', '3.12']
required: false
default: '3.8'
test_environment:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/integration-test-slow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ on:
python-version:
description: Python version
type: choice
options: ['3.8', '3.9', '3.10', '3.11']
options: ['3.8', '3.9', '3.10', '3.11', '3.12']
required: false
default: '3.8'
test_environment:
Expand Down Expand Up @@ -94,9 +94,9 @@ jobs:
GCP_US_EAST4_SERVER_URL: ${{ secrets.GCP_US_EAST4_SERVER_URL }}
GCP_US_EAST4_SERVER_USERNAME: ${{ secrets.GCP_US_EAST4_SERVER_USERNAME }}
GCP_US_EAST4_SERVER_PASSWORD: ${{ secrets.GCP_US_EAST4_SERVER_PASSWORD }}
# TODO: add Windows testing for Python 3.11 back in
# TODO: add Windows testing for Python 3.11 and 3.12 back in
# TODO: add macos testing back in
if: ${{ ! startsWith(github.event.head_commit.message, 'GitBook:') && ! (inputs.os == 'windows-latest' && inputs.python-version == '3.11') && ! (inputs.os == 'macos-13' || inputs.os == 'macos-latest') }}
if: ${{ ! startsWith(github.event.head_commit.message, 'GitBook:') && ! (inputs.os == 'windows-latest' && inputs.python-version == '3.11') && ! (inputs.os == 'windows-latest' && inputs.python-version == '3.12') && ! (inputs.os == 'macos-13' || inputs.os == 'macos-latest') }}
defaults:
run:
shell: bash
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/templates-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ on:
python-version:
description: Python version
type: choice
options: ['3.8', '3.9', '3.10', '3.11']
options: ['3.8', '3.9', '3.10', '3.11', '3.12']
required: false
default: '3.8'
jobs:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/unit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ on:
python-version:
description: Python version
type: choice
options: ['3.8', '3.9', '3.10', '3.11']
options: ['3.8', '3.9', '3.10', '3.11', '3.12']
required: false
default: '3.8'
enable_tmate:
Expand Down Expand Up @@ -65,9 +65,9 @@ jobs:
# to fix problems with the fork() calls (see this thread
# for more information: http://sealiesoftware.com/blog/archive/2017/6/5/Objective-C_and_fork_in_macOS_1013.html)
OBJC_DISABLE_INITIALIZE_FORK_SAFETY: 'YES'
# TODO: add Windows testing for Python 3.11 back in
# TODO: add Windows testing for Python 3.11 and 3.12 back in
# Exit if it's a commit from Gitbook
if: ${{ ! startsWith(github.event.head_commit.message, 'GitBook:') && ! (inputs.os == 'windows-latest' && inputs.python-version == '3.11') }}
if: ${{ ! startsWith(github.event.head_commit.message, 'GitBook:') && ! (inputs.os == 'windows-latest' && inputs.python-version == '3.11') && ! (inputs.os == 'windows-latest' && inputs.python-version == '3.12') }}
defaults:
run:
shell: bash
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/update-templates-to-examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ on:
python-version:
description: Python version
type: choice
options: ['3.8', '3.9', '3.10', '3.11']
options: ['3.8', '3.9', '3.10', '3.11', '3.12']
required: false
default: '3.8'
jobs:
Expand All @@ -46,7 +46,7 @@ jobs:
python-version: ${{ inputs.python-version }}
stack-name: local
ref-zenml: ${{ github.ref }}
ref-template: 2024.06.06 # Make sure it is aligned with ZENML_PROJECT_TEMPLATES from src/zenml/cli/base.py
ref-template: 2024.08.29 # Make sure it is aligned with ZENML_PROJECT_TEMPLATES from src/zenml/cli/base.py
- name: Clean-up
run: |
rm -rf ./local_checkout
Expand Down Expand Up @@ -118,7 +118,7 @@ jobs:
python-version: ${{ inputs.python-version }}
stack-name: local
ref-zenml: ${{ github.ref }}
ref-template: 2024.08.07 # Make sure it is aligned with ZENML_PROJECT_TEMPLATES from src/zenml/cli/base.py
ref-template: 2024.08.29 # Make sure it is aligned with ZENML_PROJECT_TEMPLATES from src/zenml/cli/base.py
- name: Clean-up
run: |
rm -rf ./local_checkout
Expand Down Expand Up @@ -189,7 +189,7 @@ jobs:
python-version: ${{ inputs.python-version }}
stack-name: local
ref-zenml: ${{ github.ref }}
ref-template: 2024.07.26 # Make sure it is aligned with ZENML_PROJECT_TEMPLATES from src/zenml/cli/base.py
ref-template: 2024.08.28 # Make sure it is aligned with ZENML_PROJECT_TEMPLATES from src/zenml/cli/base.py
- name: Clean-up
run: |
rm -rf ./local_checkout
Expand Down Expand Up @@ -261,7 +261,7 @@ jobs:
with:
python-version: ${{ inputs.python-version }}
ref-zenml: ${{ github.ref }}
ref-template: 2024.06.20 # Make sure it is aligned with ZENML_PROJECT_TEMPLATES from src/zenml/cli/base.py
ref-template: 2024.08.29 # Make sure it is aligned with ZENML_PROJECT_TEMPLATES from src/zenml/cli/base.py
- name: Clean-up
run: |
rm -rf ./local_checkout
Expand Down
2 changes: 2 additions & 0 deletions docs/mocked_libs.json
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,9 @@
"model_archiver.model_packaging_utils",
"neptune",
"neuralprophet",
"numpy",
"openai",
"pandas",
"paramiko",
"polars",
"pyarrow",
Expand Down
2 changes: 1 addition & 1 deletion examples/e2e/.copier-answers.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Changes here will be overwritten by Copier
_commit: 2024.06.06
_commit: 2024.08.29
_src_path: gh:zenml-io/template-e2e-batch
data_quality_checks: true
email: [email protected]
Expand Down
2 changes: 1 addition & 1 deletion examples/e2e_nlp/.copier-answers.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Changes here will be overwritten by Copier
_commit: 2024.08.07
_commit: 2024.08.29
_src_path: gh:zenml-io/template-nlp
accelerator: cpu
cloud_of_choice: aws
Expand Down
2 changes: 1 addition & 1 deletion examples/llm_finetuning/.copier-answers.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Changes here will be overwritten by Copier
_commit: 2024.06.20
_commit: 2024.08.29
_src_path: gh:zenml-io/template-llm-finetuning
bf16: true
cuda_version: cuda11.8
Expand Down
2 changes: 1 addition & 1 deletion examples/mlops_starter/.copier-answers.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Changes here will be overwritten by Copier
_commit: 2024.07.26
_commit: 2024.08.28
_src_path: gh:zenml-io/template-starter
email: [email protected]
full_name: ZenML GmbH
Expand Down
21 changes: 12 additions & 9 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ classifiers = [
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: System :: Distributed Computing",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
Expand All @@ -44,26 +45,21 @@ 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"
pydantic = "~2.8"
pydantic-settings = "*"
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"
setuptools = "*"
sqlalchemy = "^2.0.0"
sqlalchemy_utils = "*"
sqlmodel = "0.0.18"
Expand All @@ -77,6 +73,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 +134,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 = "<2.0", optional = true }

# pytest
pytest = { version = "^7.4.0", optional = true }
Expand All @@ -153,6 +151,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 +185,7 @@ server = [
"orjson",
"Jinja2",
"ipinfo",
"secure",
]
templates = ["copier", "jinja2-time", "ruff", "pyyaml-include"]
terraform = ["python-terraform"]
Expand Down Expand Up @@ -237,6 +237,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 Expand Up @@ -462,6 +463,8 @@ module = [
"matplotlib.*",
"IPython.*",
"huggingface_hub.*",
"distutils.*",
"accelerate.*",
"label_studio_sdk.*",
"argilla.*",
"lightning_sdk.*",
Expand Down
9 changes: 8 additions & 1 deletion scripts/install-zenml-dev.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ 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]"
# TODO: Remove and add the extra back in
uv pip install $PIP_ARGS git+https://github.com/zenml-io/mlstacks.git@feature/upgrade-python-3.12
Comment on lines +32 to +33
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remember to remove this

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the reminder. I had to add one more of this to the small-checks workflow in the CI, unfortunately. We have to keep them until we can release a new version of mlstacks. I will keep this thread unresolved as a reminder to myself.

Copy link
Contributor Author

@bcdurak bcdurak Sep 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stefannica Just so you know, this is going to be a bit tricky as I can not remove these lines with this PR.

Right now, the changes that I made are not compatible with the latest release of mlstacks(0.9.0). If I remove them now and merge to develop, all the subsequent CI runs on other PRs branching off of develop will fail.

We can potentially release a new version of mlstacks as a solution but if we do that mlstacks will be broken until we release a new version of zenml. (There won't be any zenml versions which can work with this new mlstacks release.)

So, my proposal would be something like this:

  1. I merge this PR while keeping install-zenml-dev and small-checks pointing to my upgrade branch on the mlstacks repo.
  2. I create a follow-up PR which actually reverts them back.
  3. Just before we release a new version of zenml, we do the mlstacks release, merge the PR from point 2 and proceed with the release.

This needs to be communicated to the product team as well, I will take over that.

}

install_integrations() {
Expand All @@ -37,6 +39,11 @@ install_integrations() {
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"

# Ignore tensorflow and deepchecks only on Python 3.12
if [ "$python_version" = "3.12" ]; then
ignore_integrations="$ignore_integrations tensorflow deepchecks"
fi

# turn the ignore integrations into a list of --ignore-integration args
ignore_integrations_args=""
Expand Down
25 changes: 16 additions & 9 deletions scripts/test-migrations.sh
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,18 @@ function run_tests_for_version() {

cd test_starter

echo "===== Installing sklearn integration ====="
zenml integration export-requirements sklearn --output-file sklearn-requirements.txt
uv pip install -r sklearn-requirements.txt
rm sklearn-requirements.txt
echo "===== Installing required integrations ====="
# TODO: REMOVE BEFORE MERGE
if [ "$VERSION" == "current" ]; then
zenml integration export-requirements sklearn pandas --output-file integration-requirements.txt
elif [ "$(version_compare "$VERSION" "0.66.0")" == "<" ]; then
zenml integration export-requirements sklearn --output-file integration-requirements.txt
else
zenml integration export-requirements sklearn pandas --output-file integration-requirements.txt
fi

uv pip install -r integration-requirements.txt
rm integration-requirements.txt

echo "===== Running starter template pipeline ====="
# Check if the version supports templates with arguments (> 0.52.0)
Expand Down Expand Up @@ -208,13 +216,12 @@ function test_upgrade_to_version() {

if [ "$VERSION" == "current" ]; then
uv pip install -e ".[templates,server]"
elif [ "$(version_compare "$VERSION" "0.58.2")" == ">" ]; then
# For releases >= 0.60.0 we don't want to have those old requirements pinned
uv pip install -e ".[templates,server]"
else
uv pip install "zenml[templates,server]==$VERSION"
# handles unpinned sqlmodel dependency in older versions
uv pip install "sqlmodel==0.0.8" "bcrypt==4.0.1" "pyyaml-include<2.0" "numpy<2.0.0" "tenacity!=8.4.0"
if [ "$(version_compare "$VERSION" "0.60.0")" == "<" ]; then
# handles unpinned sqlmodel dependency in older versions
uv pip install "sqlmodel==0.0.8" "bcrypt==4.0.1" "pyyaml-include<2.0" "numpy<2.0.0" "tenacity!=8.4.0"
fi
fi

# Get the major and minor version of Python
Expand Down
8 changes: 4 additions & 4 deletions src/zenml/cli/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,19 +79,19 @@ def copier_github_url(self) -> str:
ZENML_PROJECT_TEMPLATES = dict(
e2e_batch=ZenMLProjectTemplateLocation(
github_url="zenml-io/template-e2e-batch",
github_tag="2024.06.06", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
github_tag="2024.08.29", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
),
starter=ZenMLProjectTemplateLocation(
github_url="zenml-io/template-starter",
github_tag="2024.07.26", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
github_tag="2024.08.28", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
),
nlp=ZenMLProjectTemplateLocation(
github_url="zenml-io/template-nlp",
github_tag="2024.08.07", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
github_tag="2024.08.29", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
),
llm_finetuning=ZenMLProjectTemplateLocation(
github_url="zenml-io/template-llm-finetuning",
github_tag="2024.06.20", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
github_tag="2024.08.29", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
),
)

Expand Down
Loading