Skip to content

Commit 3236b0b

Browse files
Automatically generated by github-worflow[bot] for commit: e6f1c18 (#491)
Co-authored-by: iguazio-cicd <iguaziocicd@gmail.com>
1 parent de0e9ff commit 3236b0b

File tree

22 files changed

+2234
-5
lines changed

22 files changed

+2234
-5
lines changed

README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,52 @@
1+
### Change log [2026-01-01 11:58:47]
2+
1. New item created: `verify_schema` (version: `1.0.0`)
3+
4+
### Change log [2026-01-01 11:58:42]
5+
1. Item Updated: `agent_deployer` (from version: `1.0.0` to `1.0.0`)
6+
2. Item Updated: `histogram_data_drift` (from version: `1.0.0` to `1.0.0`)
7+
3. Item Updated: `openai_proxy_app` (from version: `1.0.0` to `1.0.0`)
8+
4. Item Updated: `vllm_module` (from version: `1.0.0` to `1.0.0`)
9+
5. Item Updated: `count_events` (from version: `1.0.0` to `1.0.0`)
10+
6. Item Updated: `evidently_iris` (from version: `1.0.0` to `1.0.0`)
11+
12+
### Change log [2026-01-01 11:58:32]
13+
1. Item Updated: `test_classifier` (from version: `1.1.0` to `1.1.0`)
14+
2. Item Updated: `sklearn_classifier` (from version: `1.2.0` to `1.2.0`)
15+
3. Item Updated: `model_server_tester` (from version: `1.1.0` to `1.1.0`)
16+
4. Item Updated: `azureml_serving` (from version: `1.1.0` to `1.1.0`)
17+
5. Item Updated: `describe_dask` (from version: `1.2.0` to `1.2.0`)
18+
6. Item Updated: `batch_inference` (from version: `1.8.0` to `1.8.0`)
19+
7. Item Updated: `v2_model_server` (from version: `1.2.0` to `1.2.0`)
20+
8. Item Updated: `gen_class_data` (from version: `1.3.0` to `1.3.0`)
21+
9. Item Updated: `send_email` (from version: `1.2.0` to `1.2.0`)
22+
10. Item Updated: `tf2_serving` (from version: `1.1.0` to `1.1.0`)
23+
11. Item Updated: `aggregate` (from version: `1.4.0` to `1.4.0`)
24+
12. Item Updated: `open_archive` (from version: `1.2.0` to `1.2.0`)
25+
13. Item Updated: `describe` (from version: `1.4.0` to `1.4.0`)
26+
14. Item Updated: `v2_model_tester` (from version: `1.1.0` to `1.1.0`)
27+
15. Item Updated: `text_to_audio_generator` (from version: `1.3.0` to `1.3.0`)
28+
16. Item Updated: `pii_recognizer` (from version: `0.4.0` to `0.4.0`)
29+
17. Item Updated: `github_utils` (from version: `1.1.0` to `1.1.0`)
30+
18. Item Updated: `sklearn_classifier_dask` (from version: `1.1.1` to `1.1.1`)
31+
19. Item Updated: `azureml_utils` (from version: `1.4.0` to `1.4.0`)
32+
20. Item Updated: `question_answering` (from version: `0.5.0` to `0.5.0`)
33+
21. Item Updated: `structured_data_generator` (from version: `1.6.0` to `1.6.0`)
34+
22. Item Updated: `arc_to_parquet` (from version: `1.5.0` to `1.5.0`)
35+
23. Item Updated: `silero_vad` (from version: `1.4.0` to `1.4.0`)
36+
24. Item Updated: `load_dataset` (from version: `1.2.0` to `1.2.0`)
37+
25. Item Updated: `auto_trainer` (from version: `1.8.0` to `1.8.0`)
38+
26. Item Updated: `feature_selection` (from version: `1.6.0` to `1.6.0`)
39+
27. Item Updated: `translate` (from version: `0.3.0` to `0.3.0`)
40+
28. Item Updated: `describe_spark` (from version: `1.1.0` to `1.1.0`)
41+
29. Item Updated: `pyannote_audio` (from version: `1.3.0` to `1.3.0`)
42+
30. Item Updated: `onnx_utils` (from version: `1.3.0` to `1.3.0`)
43+
31. Item Updated: `batch_inference_v2` (from version: `2.6.0` to `2.6.0`)
44+
32. Item Updated: `transcribe` (from version: `1.2.0` to `1.2.0`)
45+
33. Item Updated: `model_server` (from version: `1.2.0` to `1.2.0`)
46+
34. Item Updated: `mlflow_utils` (from version: `1.1.0` to `1.1.0`)
47+
35. Item Updated: `noise_reduction` (from version: `1.1.0` to `1.1.0`)
48+
36. Item Updated: `hugging_face_serving` (from version: `1.1.0` to `1.1.0`)
49+
150
### Change log [2025-12-31 09:29:52]
251
1. New item created: `verify_schema` (version: `1.0.0`)
352

catalog.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

functions/master/tags.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"categories": ["model-serving", "machine-learning", "deep-learning", "data-analysis", "model-testing", "audio", "genai", "data-generation", "NLP", "utils", "data-preparation", "monitoring", "model-training"], "kind": ["job", "nuclio:serving", "serving"]}
1+
{"categories": ["data-preparation", "data-generation", "utils", "machine-learning", "deep-learning", "data-analysis", "monitoring", "NLP", "model-testing", "genai", "model-serving", "audio", "model-training"], "kind": ["job", "serving", "nuclio:serving"]}

modules/master/tags.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"kind": ["monitoring_application", "generic"], "categories": ["structured-ML", "genai", "model-serving"]}
1+
{"categories": ["structured-ML", "genai", "model-serving"], "kind": ["generic", "monitoring_application"]}

steps/master/catalog.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{}
1+
{"verify_schema": {"latest": {"apiVersion": "v1", "categories": ["data-preparation", "model-serving", "utilities"], "description": "Verifies the event is aligned with the provided schema", "example": "verify_schema.ipynb", "generationDate": "2025-12-29:11-59", "hidden": false, "labels": {"author": "Iguazio"}, "mlrunVersion": "1.10.0", "name": "verify_schema", "className": "VerifySchema", "defaultHandler": null, "spec": {"filename": "verify_schema.py", "image": "mlrun/mlrun", "requirements": null}, "version": "1.0.0", "assets": {"example": "src/verify_schema.ipynb", "source": "src/verify_schema.py", "docs": "static/documentation.html"}}, "1.0.0": {"apiVersion": "v1", "categories": ["data-preparation", "model-serving", "utilities"], "description": "Verifies the event is aligned with the provided schema", "example": "verify_schema.ipynb", "generationDate": "2025-12-29:11-59", "hidden": false, "labels": {"author": "Iguazio"}, "mlrunVersion": "1.10.0", "name": "verify_schema", "className": "VerifySchema", "defaultHandler": null, "spec": {"filename": "verify_schema.py", "image": "mlrun/mlrun", "requirements": null}, "version": "1.0.0", "assets": {"example": "src/verify_schema.ipynb", "source": "src/verify_schema.py", "docs": "static/documentation.html"}}}}

steps/master/tags.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"categories": [], "kind": []}
1+
{"categories": ["data-preparation", "utilities", "model-serving"], "kind": []}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
apiVersion: v1
2+
categories:
3+
- data-preparation
4+
- model-serving
5+
- utilities
6+
description: Verifies the event is aligned with the provided schema
7+
example: verify_schema.ipynb
8+
generationDate: 2025-12-29:11-59
9+
hidden: false
10+
labels:
11+
author: Iguazio
12+
mlrunVersion: 1.10.0
13+
name: verify_schema
14+
className: VerifySchema
15+
defaultHandler:
16+
spec:
17+
filename: verify_schema.py
18+
image: mlrun/mlrun
19+
requirements:
20+
version: 1.0.0
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Copyright 2025 Iguazio
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
#
15+
16+
from verify_schema import VerifySchema
17+
18+
class TestVerifySchema:
19+
def test_verify_schema(self):
20+
schema = ["id", "name", "active"]
21+
verifier = VerifySchema(schema=schema, allow_unexpected_keys=False)
22+
23+
# Test with valid event
24+
event = {
25+
"id": 1,
26+
"name": "Test Event",
27+
"active": True
28+
}
29+
result = verifier.do(event)
30+
assert result == event
31+
32+
# Test with missing key
33+
event_missing_key = {
34+
"id": 1,
35+
"name": "Test Event"
36+
}
37+
try:
38+
verifier.do(event_missing_key)
39+
except KeyError as e:
40+
assert "missing keys {'active'} in event" in str(e)
41+
42+
# Test with unexpected key
43+
event_unexpected_key = {
44+
"id": 1,
45+
"name": "Test Event",
46+
"active": True,
47+
"extra": "unexpected"
48+
}
49+
try:
50+
verifier.do(event_unexpected_key)
51+
except KeyError as e:
52+
assert "unexpected keys {'extra'} in event" in str(e)
53+
54+
def test_verify_schema_allow_unexpected(self):
55+
schema = ["id", "name", "active"]
56+
verifier = VerifySchema(schema=schema, allow_unexpected_keys=True)
57+
58+
# Test with valid event and unexpected key
59+
event = {
60+
"id": 1,
61+
"name": "Test Event",
62+
"active": True,
63+
"extra": "unexpected"
64+
}
65+
result = verifier.do(event)
66+
assert result == event

0 commit comments

Comments
 (0)