Skip to content

Commit 06d6732

Browse files
committed
Merge branch 'feature/served-pipelines' of github.com:zenml-io/zenml into feature/served-pipelines
2 parents c12bc74 + a5efb43 commit 06d6732

File tree

7 files changed

+30
-21
lines changed

7 files changed

+30
-21
lines changed

src/zenml/deployers/server/runtime.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class _DeploymentState(BaseModel):
3434
model_config = {"extra": "forbid"}
3535

3636
active: bool = False
37-
use_in_memory: bool = False
37+
skip_artifact_materialization: bool = False
3838
request_id: Optional[str] = None
3939
snapshot_id: Optional[str] = None
4040
pipeline_parameters: Dict[str, Any] = Field(default_factory=dict)
@@ -50,7 +50,7 @@ def reset(self) -> None:
5050
self.snapshot_id = None
5151
self.pipeline_parameters.clear()
5252
self.outputs.clear()
53-
self.use_in_memory = False
53+
self.skip_artifact_materialization = False
5454
self.in_memory_data.clear()
5555

5656

@@ -72,23 +72,23 @@ def start(
7272
request_id: str,
7373
snapshot: PipelineSnapshotResponse,
7474
parameters: Dict[str, Any],
75-
use_in_memory: bool = False,
75+
skip_artifact_materialization: bool = False,
7676
) -> None:
7777
"""Initialize deployment state for the current request context.
7878
7979
Args:
8080
request_id: The ID of the request.
8181
snapshot: The snapshot to deploy.
8282
parameters: The parameters to deploy.
83-
use_in_memory: Whether to use in-memory mode.
83+
skip_artifact_materialization: Whether to skip artifact materialization.
8484
"""
8585
state = _DeploymentState()
8686
state.active = True
8787
state.request_id = request_id
8888
state.snapshot_id = str(snapshot.id)
8989
state.pipeline_parameters = parameters
9090
state.outputs = {}
91-
state.use_in_memory = use_in_memory
91+
state.skip_artifact_materialization = skip_artifact_materialization
9292
_deployment_context.set(state)
9393

9494

@@ -131,15 +131,15 @@ def get_outputs() -> Dict[str, Dict[str, Any]]:
131131
return dict(_get_context().outputs)
132132

133133

134-
def should_use_in_memory_mode() -> bool:
135-
"""Check if the current request should use in-memory mode.
134+
def should_skip_artifact_materialization() -> bool:
135+
"""Check if the current request should skip artifact materialization.
136136
137137
Returns:
138-
True if in-memory mode is enabled for this request.
138+
True if artifact materialization is skipped for this request.
139139
"""
140140
if is_active():
141141
state = _get_context()
142-
return state.use_in_memory
142+
return state.skip_artifact_materialization
143143
return False
144144

145145

src/zenml/deployers/server/service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ def _execute_with_orchestrator(
398398
request_id=str(uuid4()),
399399
snapshot=deployment_snapshot,
400400
parameters=resolved_params,
401-
use_in_memory=use_in_memory,
401+
skip_artifact_materialization=use_in_memory,
402402
)
403403

404404
captured_outputs: Optional[Dict[str, Dict[str, Any]]] = None

src/zenml/orchestrators/step_launcher.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,7 @@ def _run_step(
442442
step_run=step_run,
443443
stack=self._stack,
444444
step=self._step,
445-
create_dirs=not runtime.should_use_in_memory_mode(),
445+
create_dirs=not runtime.should_skip_artifact_materialization(),
446446
)
447447

448448
start_time = time.time()

src/zenml/orchestrators/step_runner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,7 @@ def _store_output_artifacts(
673673
materializer_class = materializer_registry[data_type]
674674

675675
# Choose materializer class upfront based on serving mode
676-
if runtime.should_use_in_memory_mode():
676+
if runtime.should_skip_artifact_materialization():
677677
materializer_class = InMemoryMaterializer
678678
uri = output_artifact_uris[output_name]
679679
artifact_config = output_annotations[output_name].artifact_config

src/zenml/pipelines/pipeline_definition.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1808,7 +1808,14 @@ def _compute_input_model(self) -> Optional[Type[BaseModel]]:
18081808
defaults: Dict[str, Any] = self._parameters
18091809
model_args: Dict[str, Any] = {}
18101810
for name, param in entrypoint_definition.inputs.items():
1811-
model_args[name] = (param.annotation, defaults.get(name, ...))
1811+
if name in defaults:
1812+
default_value = defaults[name]
1813+
elif param.default is not inspect.Parameter.empty:
1814+
default_value = param.default
1815+
else:
1816+
default_value = ...
1817+
1818+
model_args[name] = (param.annotation, default_value)
18121819

18131820
model_args["__config__"] = ConfigDict(extra="forbid")
18141821
params_model: Type[BaseModel] = create_model(

tests/unit/deployers/server/test_runtime.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -219,8 +219,8 @@ def test_use_in_memory_setting(self):
219219
use_in_memory=True,
220220
)
221221

222-
assert runtime.should_use_in_memory_mode() is True
223-
assert runtime.should_use_in_memory_mode() is True
222+
assert runtime.should_skip_artifact_materialization() is True
223+
assert runtime.should_skip_artifact_materialization() is True
224224

225225
runtime.stop()
226226

@@ -232,7 +232,7 @@ def test_use_in_memory_setting(self):
232232
use_in_memory=False,
233233
)
234234

235-
assert runtime.should_use_in_memory_mode() is False
235+
assert runtime.should_skip_artifact_materialization() is False
236236

237237
runtime.stop()
238238

@@ -243,11 +243,11 @@ def test_use_in_memory_setting(self):
243243
parameters={},
244244
)
245245

246-
assert runtime.should_use_in_memory_mode() is False
246+
assert runtime.should_skip_artifact_materialization() is False
247247

248248
def test_use_in_memory_inactive_context(self):
249249
"""Test use_in_memory functions when context is inactive."""
250-
assert runtime.should_use_in_memory_mode() is False
250+
assert runtime.should_skip_artifact_materialization() is False
251251

252252
def test_context_reset_clears_all_data(self):
253253
"""Test that context reset clears all stored data."""
@@ -268,7 +268,7 @@ def test_context_reset_clears_all_data(self):
268268
# Verify data is stored
269269
assert runtime.is_active()
270270
assert runtime.get_outputs() != {}
271-
assert runtime.should_use_in_memory_mode() is True
271+
assert runtime.should_skip_artifact_materialization() is True
272272

273273
# Stop context (triggers reset)
274274
runtime.stop()
@@ -285,4 +285,4 @@ def test_context_reset_clears_all_data(self):
285285

286286
assert runtime.get_outputs() == {}
287287
assert runtime.get_in_memory_data("memory://artifact/1") is None
288-
assert runtime.should_use_in_memory_mode() is False
288+
assert runtime.should_skip_artifact_materialization() is False

tests/unit/materializers/test_in_memory_materializer.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ def test_in_memory_materializer_uses_runtime(monkeypatch) -> None:
1414
from zenml.deployers.server import runtime
1515

1616
monkeypatch.setattr(runtime, "is_active", lambda: True)
17-
monkeypatch.setattr(runtime, "should_use_in_memory_mode", lambda: True)
17+
monkeypatch.setattr(
18+
runtime, "should_skip_artifact_materialization", lambda: True
19+
)
1820
monkeypatch.setattr(runtime, "put_in_memory_data", stored.__setitem__)
1921
monkeypatch.setattr(runtime, "get_in_memory_data", stored.get)
2022

0 commit comments

Comments
 (0)