diff --git a/haystack/core/pipeline/pipeline.py b/haystack/core/pipeline/pipeline.py index 3fd91fbce..5737d3095 100644 --- a/haystack/core/pipeline/pipeline.py +++ b/haystack/core/pipeline/pipeline.py @@ -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" diff --git a/releasenotes/notes/pipe-disable-autoshow-dbbafd2bfdcce7a4.yaml b/releasenotes/notes/pipe-disable-autoshow-dbbafd2bfdcce7a4.yaml new file mode 100644 index 000000000..3acc6c693 --- /dev/null +++ b/releasenotes/notes/pipe-disable-autoshow-dbbafd2bfdcce7a4.yaml @@ -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. diff --git a/test/core/pipeline/test_pipeline.py b/test/core/pipeline/test_pipeline.py index 9276ce327..ef15ccf1a 100644 --- a/test/core/pipeline/test_pipeline.py +++ b/test/core/pipeline/test_pipeline.py @@ -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)