Skip to content

Commit 1c65737

Browse files
authored
Merge pull request #183 from getindata/release-0.12.0
Release 0.12.0
2 parents 56fff64 + 7922042 commit 1c65737

31 files changed

+4474
-3301
lines changed

.bumpversion.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 0.11.1
2+
current_version = 0.12.0
33

44
[bumpversion:file:pyproject.toml]
55

.copier-answers.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ description: Kedro plugin with GCP Vertex AI support
1010
docs_url: https://kedro-vertexai.readthedocs.io/
1111
full_name: Kedro Vertex AI Plugin
1212
github_url: https://github.com/getindata/kedro-vertexai
13-
initial_version: 0.11.1
13+
initial_version: 0.12.0
1414
keywords:
1515
- kedro-plugin
1616
- kedro

.github/workflows/prepare-release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
strategy:
1515
matrix:
16-
python-version: [3.8]
16+
python-version: ['3.10']
1717
env:
1818
PYTHON_PACKAGE: kedro_vertexai
1919
steps:

.github/workflows/test_and_publish.yml

+10-9
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ jobs:
1717
unit_tests:
1818
runs-on: ubuntu-latest
1919
strategy:
20+
fail-fast: false
2021
matrix:
21-
python-version: ['3.8', '3.9', '3.10']
22+
python-version: ['3.9', '3.10', '3.11', '3.12']
2223

2324
steps:
2425
- uses: actions/checkout@v4
@@ -31,7 +32,7 @@ jobs:
3132
- name: Setup poetry
3233
run: |
3334
python -V
34-
python -m pip install poetry
35+
python -m pip install poetry --no-cache-dir
3536
3637
- name: Check pre-commit status
3738
run: |
@@ -44,7 +45,7 @@ jobs:
4445
tox -v
4546
4647
- name: Store coverage reports
47-
uses: actions/upload-artifact@v3
48+
uses: actions/upload-artifact@v4
4849
with:
4950
name: coverage-${{ matrix.python-version }}
5051
path: coverage.xml
@@ -59,7 +60,7 @@ jobs:
5960
with:
6061
fetch-depth: 0
6162

62-
- uses: actions/download-artifact@v3
63+
- uses: actions/download-artifact@v4
6364
with:
6465
name: coverage-3.9
6566
path: .
@@ -86,15 +87,15 @@ jobs:
8687

8788
# Initializes the CodeQL tools for scanning.
8889
- name: Initialize CodeQL
89-
uses: github/codeql-action/init@v2
90+
uses: github/codeql-action/init@v3
9091
with:
9192
languages: python
9293

9394
- name: Autobuild
94-
uses: github/codeql-action/autobuild@v2
95+
uses: github/codeql-action/autobuild@v3
9596

9697
- name: Perform CodeQL Analysis
97-
uses: github/codeql-action/analyze@v2
98+
uses: github/codeql-action/analyze@v3
9899

99100
### PROJECT SPECIFIC CONFIGURATION HERE
100101
e2e_tests:
@@ -105,7 +106,7 @@ jobs:
105106
strategy:
106107
matrix:
107108
e2e_case: ["standard", "grouping"]
108-
python-version: ['3.8'] # todo update python
109+
python-version: ['3.10']
109110
env:
110111
PROJECT_NAME: kedro-vertexai
111112
IMAGE_REGISTRY: gcr.io/gid-ml-ops-sandbox
@@ -191,7 +192,7 @@ jobs:
191192
runs-on: ubuntu-latest
192193
strategy:
193194
matrix:
194-
python-version: ['3.8']
195+
python-version: ['3.10']
195196
env:
196197
PYTHON_PACKAGE: kedro_vertexai
197198
steps:

.readthedocs.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ version: 2
99
build:
1010
os: ubuntu-20.04
1111
tools:
12-
python: "3.8"
12+
python: "3.10"
1313

1414
# Build documentation in the docs/ directory with Sphinx
1515
sphinx:

CHANGELOG.md

+18-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,21 @@
22

33
## [Unreleased]
44

5+
## [0.12.0] - 2025-03-11
6+
7+
- Support for python 3.11 & 3.12 added, dropped support for python 3.8
8+
- Brought back the Vertex AI Pipelines scheduling capability
9+
- Migrated to kfp 2 (locked to <2.9.0 due to pipeline spec changes)
10+
- Removed `image_pull_policy` parameter from configuration, as it only applies to Kubernetes backend and not Vertex AI,
11+
and it's only available in `kfp-kubernetes` extension package
12+
- Removed `--timeout-seconds` parameter from `run-once` command for now, as in the old version of the plugin exceeding the specified time
13+
didn't alter the remote pipeline execution, and only escaped the local Python processs. The timeout funcionality will be added later on,
14+
with the proper remote pipeline execution handling, and possibly per-task timeout enabled by [the new kfp feature](https://github.com/kubeflow/pipelines/pull/10481).
15+
- Assign pipelines to Vertex AI experiments
16+
- Migrated `pydantic` library to v2
17+
- Custom dataset that creates Vertex AI artifact
18+
- Added pipeline parametrization
19+
520
## [0.11.1] - 2024-07-01
621

722
## [0.11.0] - 2024-03-22
@@ -83,7 +98,9 @@
8398

8499
- Initial version of **kedro-vertexai** plugin extracted from [kedro-kubeflow v0.6.0](https://github.com/getindata/kedro-kubeflow/tree/0.6.0)
85100

86-
[Unreleased]: https://github.com/getindata/kedro-vertexai/compare/0.11.1...HEAD
101+
[Unreleased]: https://github.com/getindata/kedro-vertexai/compare/0.12.0...HEAD
102+
103+
[0.12.0]: https://github.com/getindata/kedro-vertexai/compare/0.11.1...0.12.0
87104

88105
[0.11.1]: https://github.com/getindata/kedro-vertexai/compare/0.11.0...0.11.1
89106

docs/source/02_installation/02_configuration.md

+21-5
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,15 @@ run_config:
1010
# Name of the image to run as the pipeline steps
1111
image: eu.gcr.io/my-gcp-mlops-project/example_model:${oc.env:KEDRO_CONFIG_COMMIT_ID}
1212

13-
# Pull policy to be used for the steps. Use Always if you push the images
14-
# on the same tag, or Never if you use only local images
15-
image_pull_policy: IfNotPresent
16-
1713
# Location of Vertex AI GCS root
1814
root: bucket_name/gcs_suffix
1915

20-
# Name of the kubeflow experiment to be created
16+
# Name of the Vertex AI experiment to be created
2117
experiment_name: MyExperiment
2218

19+
# Optional description of the Vertex AI experiment to be created
20+
# experiment_description: "My experiment description."
21+
2322
# Name of the scheduled run, templated with the schedule parameters
2423
scheduled_run_name: MyExperimentRun
2524

@@ -98,6 +97,23 @@ run_config:
9897
# client_id: iam-client-id
9998

10099
dynamic_config_providers: []
100+
101+
# Schedules configuration
102+
schedules:
103+
default_schedule:
104+
cron_expression: "0 * * * *"
105+
timezone: Etc/UTC
106+
# Optional. Timestamp after which the first run can be scheduled. If unspecified, it defaults to the schedule creation timestamp.
107+
start_time: null
108+
# Optional. Timestamp after which no more runs will be scheduled. If unspecified, then runs will be scheduled indefinitely.
109+
end_time: null
110+
# Optional. Whether new scheduled runs can be queued when max_concurrent_runs limit is reached.
111+
allow_queueing: false
112+
# Optional. Maximum run count of the schedule. If specified, The schedule will be completed when either started_run_count >= max_run_count or when end_time is reached. Must be positive and <= 2^63-1.
113+
max_run_count: null
114+
# Optional. Maximum number of runs that can be started concurrently for this PipelineJobSchedule.
115+
max_concurrent_run_count: 1
116+
101117
```
102118

103119
## Dynamic configuration support

docs/source/03_getting_started/01_quickstart.md

+6-3
Original file line numberDiff line numberDiff line change
@@ -108,17 +108,14 @@ Adjusted `catalog.yml` should look like this (note: remove the rest of the entri
108108
companies:
109109
type: pandas.CSVDataSet
110110
filepath: data/01_raw/companies.csv
111-
layer: raw
112111

113112
reviews:
114113
type: pandas.CSVDataSet
115114
filepath: data/01_raw/reviews.csv
116-
layer: raw
117115

118116
shuttles:
119117
type: pandas.ExcelDataSet
120118
filepath: data/01_raw/shuttles.xlsx
121-
layer: raw
122119
```
123120
124121
All intermediate and output data will be stored in the location with the following pattern:
@@ -180,3 +177,9 @@ As you can see, the pipeline was compiled and started in Vertex AI Pipelines. Wh
180177
![Kedro pipeline running in Vertex AI Pipelines](vertexai_running_pipeline.gif)
181178

182179

180+
## Log datasets to Vertex AI Metadata
181+
182+
The plugin implements custom `kedro_vertexai.vertex_ai.datasets.KedroVertexAIMetadataDataset` dataset that creates an Vertex AI Artifact.
183+
It allows to specify any Kedro dataset in the `base_dataset` argument, and it uses its `_save` and `_load` methods for the io.
184+
The base dataset arguments are passed in `base_dataset_args` argument as dictionary. The created artifact is associated with Vertex AI run id and job name as metadata, and additional metadata can be specified in the `metadata` argument.
185+
The `dispaly_name` and `schema` arguments are used for the artifact creation, please reference [Vertex AI docs](https://cloud.google.com/vertex-ai/docs/ml-metadata/tracking#create-artifact) to learn more about them.

kedro_vertexai/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.11.1"
1+
__version__ = "0.12.0"

0 commit comments

Comments
 (0)