mirror of
https://github.com/deepset-ai/haystack.git
synced 2025-11-01 10:19:23 +00:00
fix: Pipeline - disable autoshow on Jupyter (#7397)
* try * fix docstring * simplify tests * add release note
This commit is contained in:
parent
b0a9508116
commit
6e69d4f188
@ -86,13 +86,7 @@ class Pipeline:
|
||||
def __repr__(self) -> str:
|
||||
"""
|
||||
Returns a text representation of the Pipeline.
|
||||
If this runs in a Jupyter notebook, it will instead display the Pipeline image.
|
||||
"""
|
||||
if is_in_jupyter():
|
||||
# If we're in a Jupyter notebook we want to display the image instead of the text repr.
|
||||
self.show()
|
||||
return ""
|
||||
|
||||
res = f"{object.__repr__(self)}\n"
|
||||
if self.metadata:
|
||||
res += "🧱 Metadata\n"
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
---
|
||||
enhancements:
|
||||
- |
|
||||
In Jupyter notebooks, the image of the Pipeline will no longer be displayed automatically.
|
||||
The textual representation of the Pipeline will be displayed.
|
||||
|
||||
To display the Pipeline image, use the `show` method of the Pipeline object.
|
||||
@ -281,8 +281,7 @@ def test_get_component_name_not_added_to_pipeline():
|
||||
assert pipe.get_component_name(some_component) == ""
|
||||
|
||||
|
||||
@patch("haystack.core.pipeline.pipeline.is_in_jupyter")
|
||||
def test_repr(mock_is_in_jupyter):
|
||||
def test_repr():
|
||||
pipe = Pipeline(metadata={"test": "test"}, max_loops_allowed=42)
|
||||
pipe.add_component("add_two", AddFixedValue(add=2))
|
||||
pipe.add_component("add_default", AddFixedValue())
|
||||
@ -302,28 +301,10 @@ def test_repr(mock_is_in_jupyter):
|
||||
" - add_two.result -> double.value (int)\n"
|
||||
" - double.value -> add_default.value (int)\n"
|
||||
)
|
||||
# Simulate not being in a notebook
|
||||
mock_is_in_jupyter.return_value = False
|
||||
|
||||
assert repr(pipe) == expected_repr
|
||||
|
||||
|
||||
@patch("haystack.core.pipeline.pipeline.is_in_jupyter")
|
||||
def test_repr_in_notebook(mock_is_in_jupyter):
|
||||
pipe = Pipeline(metadata={"test": "test"}, max_loops_allowed=42)
|
||||
pipe.add_component("add_two", AddFixedValue(add=2))
|
||||
pipe.add_component("add_default", AddFixedValue())
|
||||
pipe.add_component("double", Double())
|
||||
pipe.connect("add_two", "double")
|
||||
pipe.connect("double", "add_default")
|
||||
|
||||
# Simulate being in a notebook
|
||||
mock_is_in_jupyter.return_value = True
|
||||
|
||||
with patch.object(Pipeline, "show") as mock_show:
|
||||
assert repr(pipe) == ""
|
||||
mock_show.assert_called_once_with()
|
||||
|
||||
|
||||
def test_run_raises_if_max_visits_reached():
|
||||
def custom_init(self):
|
||||
component.set_input_type(self, "x", int)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user