From e2086a37582f3420fd651f35ef545c1f797592b8 Mon Sep 17 00:00:00 2001 From: Rashida Kanchwala Date: Tue, 30 May 2023 23:17:57 +0100 Subject: [PATCH 01/13] done with failing lint and tests which will be fixed once other PR is merged Signed-off-by: Rashida Kanchwala --- demo-project/conf/base/catalog_01_raw.yml | 33 +++++++++++++++++-- demo-project/conf/base/catalog_04_feature.yml | 5 ++- .../integrations/kedro/data_loader.py | 12 +++---- package/kedro_viz/models/flowchart.py | 9 +++-- package/tests/test_models/test_flowchart.py | 12 +++++++ .../metadata-modal/metadata-modal.js | 2 +- src/components/metadata/metadata.js | 4 +-- src/config.js | 6 ---- 8 files changed, 61 insertions(+), 22 deletions(-) diff --git a/demo-project/conf/base/catalog_01_raw.yml b/demo-project/conf/base/catalog_01_raw.yml index e8302a83e6..8f117a9f7d 100644 --- a/demo-project/conf/base/catalog_01_raw.yml +++ b/demo-project/conf/base/catalog_01_raw.yml @@ -1,14 +1,41 @@ companies: type: pandas.CSVDataSet filepath: ${base_location}/01_raw/companies.csv - layer: raw + metadata: + kedro-viz: + layer: raw + preview: 5 reviews: type: pandas.CSVDataSet filepath: ${base_location}/01_raw/reviews.csv - layer: raw + metadata: + kedro-viz: + layer: raw + preview: 10 shuttles: type: pandas.ExcelDataSet filepath: ${base_location}/01_raw/shuttles.xlsx - layer: raw + metadata: + kedro-viz: + layer: raw + preview: 15 + + + + +# companies: +# type: pandas.CSVDataSet +# filepath: ${base_location}/01_raw/companies.csv +# layer: raw + +# reviews: +# type: pandas.CSVDataSet +# filepath: ${base_location}/01_raw/reviews.csv +# layer: raw + +# shuttles: +# type: pandas.ExcelDataSet +# filepath: ${base_location}/01_raw/shuttles.xlsx +# layer: raw diff --git a/demo-project/conf/base/catalog_04_feature.yml b/demo-project/conf/base/catalog_04_feature.yml index 54325e374c..b22ee34028 100644 --- a/demo-project/conf/base/catalog_04_feature.yml +++ b/demo-project/conf/base/catalog_04_feature.yml @@ -29,6 +29,9 @@ feature_importance_output: type: pandas.CSVDataSet filepath: ${base_location}/04_feature/feature_importance_output.csv - layer: feature + metadata: + kedro-viz: + layer: feature + preview: 2 diff --git a/package/kedro_viz/integrations/kedro/data_loader.py b/package/kedro_viz/integrations/kedro/data_loader.py index 99c6e5736e..f64c98c0e0 100644 --- a/package/kedro_viz/integrations/kedro/data_loader.py +++ b/package/kedro_viz/integrations/kedro/data_loader.py @@ -80,9 +80,9 @@ def load_data( with KedroSession.create( project_path=project_path, - env=env, # type: ignore + env=env, save_on_close=False, - extra_params=extra_params, # type: ignore + extra_params=extra_params, ) as session: context = session.load_context() session_store = session._store @@ -100,9 +100,9 @@ def load_data( with KedroSession.create( project_path=project_path, - env=env, # type: ignore + env=env, save_on_close=False, - extra_params=extra_params, # type: ignore + extra_params=extra_params, ) as session: context = session.load_context() session_store = session._store @@ -118,9 +118,9 @@ def load_data( with KedroSession.create( package_name=metadata.package_name, project_path=project_path, - env=env, # type: ignore + env=env, save_on_close=False, - extra_params=extra_params, # type: ignore + extra_params=extra_params, ) as session: context = session.load_context() session_store = session._store diff --git a/package/kedro_viz/models/flowchart.py b/package/kedro_viz/models/flowchart.py index ef623282ea..720c737a13 100644 --- a/package/kedro_viz/models/flowchart.py +++ b/package/kedro_viz/models/flowchart.py @@ -488,7 +488,12 @@ def is_tracking_node(self): def is_preview_node(self): """Checks if the current node has a preview""" - return hasattr(self.kedro_obj, "_preview") + metadata = getattr(self.kedro_obj, "metadata", {}) or {} + return bool(metadata.get("kedro-viz", {}).get("preview")) + + def get_preview_nrows(self): + """Gets the number of rows for the preview dataset""" + return int(self.kedro_obj.metadata.get("kedro-viz", {}).get("preview", 0)) @dataclass @@ -595,7 +600,7 @@ def __post_init__(self, data_node: DataNode): self.tracking_data = dataset.load() elif data_node.is_preview_node(): try: - self.preview = dataset._preview() # type: ignore + self.preview = dataset._preview(data_node.get_preview_nrows()) except Exception as exc: # pylint: disable=broad-except # pragma: no cover logger.warning( "'%s' could not be previewed. Full exception: %s: %s", diff --git a/package/tests/test_models/test_flowchart.py b/package/tests/test_models/test_flowchart.py index beea67b8e9..d98b69aaa8 100644 --- a/package/tests/test_models/test_flowchart.py +++ b/package/tests/test_models/test_flowchart.py @@ -1,3 +1,4 @@ +# pylint: disable=too-many-public-methods import base64 from functools import partial from pathlib import Path @@ -368,6 +369,17 @@ def test_data_node_metadata(self): assert data_node_metadata.filepath == "/tmp/dataset.csv" assert data_node_metadata.run_command == "kedro run --to-outputs=dataset" + def test_get_preview_nrows(self): + metadata = {"kedro-viz": {"preview": 3}} + dataset = CSVDataSet(filepath="test.csv", metadata=metadata) + data_node = GraphNode.create_data_node( + full_name="dataset", + tags=set(), + layer=None, + dataset=dataset, + ) + assert data_node.get_preview_nrows() == 3 + def test_preview_data_node_metadata(self): mock_preview_data = { "columns": ["id", "company_rating", "company_location"], diff --git a/src/components/metadata-modal/metadata-modal.js b/src/components/metadata-modal/metadata-modal.js index 51c1614fae..dfcb47962e 100644 --- a/src/components/metadata-modal/metadata-modal.js +++ b/src/components/metadata-modal/metadata-modal.js @@ -46,7 +46,7 @@ const MetadataModal = ({ metadata, onToggle, visible }) => { {hasPreview && (
- Previewing first 40 rows only + Previewing first {metadata.preview.data.length} rows only
)} diff --git a/src/components/metadata/metadata.js b/src/components/metadata/metadata.js index db69b120b8..6215cc250f 100644 --- a/src/components/metadata/metadata.js +++ b/src/components/metadata/metadata.js @@ -29,7 +29,6 @@ import './styles/metadata.css'; * Shows node meta data */ const MetaData = ({ - flags, isPrettyNameOn, metadata, onToggleCode, @@ -58,7 +57,7 @@ const MetaData = ({ const hasPlot = Boolean(metadata?.plot); const hasImage = Boolean(metadata?.image); const hasTrackingData = Boolean(metadata?.trackingData); - const hasPreviewData = Boolean(metadata?.preview) && flags.previewDataSet; + const hasPreviewData = Boolean(metadata?.preview); const isMetricsTrackingDataset = nodeTypeIcon === 'metricsTracking'; const hasCode = Boolean(metadata?.code); const isTranscoded = Boolean(metadata?.originalType); @@ -326,7 +325,6 @@ const MetaData = ({ }; export const mapStateToProps = (state, ownProps) => ({ - flags: state.flags, isPrettyNameOn: state.prettyName, metadata: getClickedNodeMetaData(state), theme: state.theme, diff --git a/src/config.js b/src/config.js index bfca597cdb..66dcfc9a7f 100644 --- a/src/config.js +++ b/src/config.js @@ -63,12 +63,6 @@ export const flags = { default: false, icon: '🔛', }, - previewDataSet: { - name: 'Preview datasets', - description: 'Enable dataset previews in the metadata panel', - default: true, - icon: '🗂', - }, }; export const settings = { From 859c359800f81f6d3fb65b512e224ff19150ccaf Mon Sep 17 00:00:00 2001 From: Rashida Kanchwala Date: Thu, 1 Jun 2023 11:32:03 +0100 Subject: [PATCH 02/13] changed to preview_args Signed-off-by: Rashida Kanchwala --- demo-project/conf/base/catalog_01_raw.yml | 23 ++++++----------------- package/kedro_viz/models/flowchart.py | 12 ++++++++---- 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/demo-project/conf/base/catalog_01_raw.yml b/demo-project/conf/base/catalog_01_raw.yml index 8f117a9f7d..0ab0cf5f8e 100644 --- a/demo-project/conf/base/catalog_01_raw.yml +++ b/demo-project/conf/base/catalog_01_raw.yml @@ -4,7 +4,8 @@ companies: metadata: kedro-viz: layer: raw - preview: 5 + preview_args: + nrows: 5 reviews: type: pandas.CSVDataSet @@ -12,7 +13,8 @@ reviews: metadata: kedro-viz: layer: raw - preview: 10 + preview_args: + nrows: 10 shuttles: type: pandas.ExcelDataSet @@ -20,22 +22,9 @@ shuttles: metadata: kedro-viz: layer: raw - preview: 15 + preview_args: + nrows: 15 -# companies: -# type: pandas.CSVDataSet -# filepath: ${base_location}/01_raw/companies.csv -# layer: raw - -# reviews: -# type: pandas.CSVDataSet -# filepath: ${base_location}/01_raw/reviews.csv -# layer: raw - -# shuttles: -# type: pandas.ExcelDataSet -# filepath: ${base_location}/01_raw/shuttles.xlsx -# layer: raw diff --git a/package/kedro_viz/models/flowchart.py b/package/kedro_viz/models/flowchart.py index 720c737a13..5f8be9ca60 100644 --- a/package/kedro_viz/models/flowchart.py +++ b/package/kedro_viz/models/flowchart.py @@ -486,14 +486,18 @@ def is_tracking_node(self): """Checks if the current node is a tracking data node""" return self.is_json_node() or self.is_metric_node() + def get_viz_metadata(self): + """Gets the kedro-viz metadata config specified in the catalog""" + metadata = getattr(self.kedro_obj, "metadata", {}) or {} + return metadata.get("kedro-viz", {}) + def is_preview_node(self): """Checks if the current node has a preview""" - metadata = getattr(self.kedro_obj, "metadata", {}) or {} - return bool(metadata.get("kedro-viz", {}).get("preview")) + return bool(self.get_viz_metadata().get("preview_args")) def get_preview_nrows(self): """Gets the number of rows for the preview dataset""" - return int(self.kedro_obj.metadata.get("kedro-viz", {}).get("preview", 0)) + return self.get_viz_metadata().get("preview_args", {}) @dataclass @@ -600,7 +604,7 @@ def __post_init__(self, data_node: DataNode): self.tracking_data = dataset.load() elif data_node.is_preview_node(): try: - self.preview = dataset._preview(data_node.get_preview_nrows()) + self.preview = dataset._preview(**data_node.get_preview_nrows()) except Exception as exc: # pylint: disable=broad-except # pragma: no cover logger.warning( "'%s' could not be previewed. Full exception: %s: %s", From 1257a66656d09eda79ece55bfb6755ee69fd1080 Mon Sep 17 00:00:00 2001 From: Rashida Kanchwala Date: Mon, 5 Jun 2023 17:02:55 +0100 Subject: [PATCH 03/13] fixes based on reviews Signed-off-by: Rashida Kanchwala --- demo-project/conf/base/catalog_01_raw.yml | 3 +-- package/kedro_viz/models/flowchart.py | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/demo-project/conf/base/catalog_01_raw.yml b/demo-project/conf/base/catalog_01_raw.yml index 0ab0cf5f8e..334b73edc5 100644 --- a/demo-project/conf/base/catalog_01_raw.yml +++ b/demo-project/conf/base/catalog_01_raw.yml @@ -4,8 +4,7 @@ companies: metadata: kedro-viz: layer: raw - preview_args: - nrows: 5 + preview_args: reviews: type: pandas.CSVDataSet diff --git a/package/kedro_viz/models/flowchart.py b/package/kedro_viz/models/flowchart.py index 5f8be9ca60..16cac1edb0 100644 --- a/package/kedro_viz/models/flowchart.py +++ b/package/kedro_viz/models/flowchart.py @@ -488,16 +488,26 @@ def is_tracking_node(self): def get_viz_metadata(self): """Gets the kedro-viz metadata config specified in the catalog""" - metadata = getattr(self.kedro_obj, "metadata", {}) or {} - return metadata.get("kedro-viz", {}) + metadata = getattr(self.kedro_obj, "metadata", None) + if not metadata: + return None + try: + viz_metadata = metadata["kedro-viz"] + except (AttributeError, KeyError): + return None + return viz_metadata def is_preview_node(self): """Checks if the current node has a preview""" - return bool(self.get_viz_metadata().get("preview_args")) + try: + is_preview = bool(self.get_viz_metadata()["preview_args"]) + except (AttributeError, KeyError): + return False + return is_preview def get_preview_nrows(self): """Gets the number of rows for the preview dataset""" - return self.get_viz_metadata().get("preview_args", {}) + return self.get_viz_metadata()["preview_args"] @dataclass From bee0771bcb62a42816e82960256366d5376a3227 Mon Sep 17 00:00:00 2001 From: rashidakanchwala <37628668+rashidakanchwala@users.noreply.github.com> Date: Tue, 6 Jun 2023 09:25:59 +0100 Subject: [PATCH 04/13] Update metadata-modal.js --- src/components/metadata-modal/metadata-modal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/metadata-modal/metadata-modal.js b/src/components/metadata-modal/metadata-modal.js index dfcb47962e..98dc744657 100644 --- a/src/components/metadata-modal/metadata-modal.js +++ b/src/components/metadata-modal/metadata-modal.js @@ -46,7 +46,7 @@ const MetadataModal = ({ metadata, onToggle, visible }) => { {hasPreview && (
- Previewing first {metadata.preview.data.length} rows only + Previewing first {metadata.preview.data.length} rows
)} From 71ff583a930a5a0492493302ef578770c29c218a Mon Sep 17 00:00:00 2001 From: Rashida Kanchwala Date: Tue, 6 Jun 2023 13:48:44 +0100 Subject: [PATCH 05/13] added viz_metdata to property Signed-off-by: Rashida Kanchwala --- package/kedro_viz/models/flowchart.py | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/package/kedro_viz/models/flowchart.py b/package/kedro_viz/models/flowchart.py index 16cac1edb0..5b10c29b88 100644 --- a/package/kedro_viz/models/flowchart.py +++ b/package/kedro_viz/models/flowchart.py @@ -442,6 +442,8 @@ class DataNode(GraphNode): # the list of modular pipelines this data node belongs to modular_pipelines: List[str] = field(init=False) + viz_metadata: Optional[Dict] = field(init=False, default=None) + # command to run the pipeline to this node run_command: Optional[str] = field(init=False, default=None) @@ -458,6 +460,12 @@ def __post_init__(self): self.modular_pipelines = self._expand_namespaces( self._get_namespace(self.full_name) ) + metadata = getattr(self.kedro_obj, "metadata", None) + if metadata: + try: + self.viz_metadata = metadata["kedro-viz"] + except (AttributeError, KeyError): + pass # TODO: improve this scheme. def is_plot_node(self): @@ -486,28 +494,17 @@ def is_tracking_node(self): """Checks if the current node is a tracking data node""" return self.is_json_node() or self.is_metric_node() - def get_viz_metadata(self): - """Gets the kedro-viz metadata config specified in the catalog""" - metadata = getattr(self.kedro_obj, "metadata", None) - if not metadata: - return None - try: - viz_metadata = metadata["kedro-viz"] - except (AttributeError, KeyError): - return None - return viz_metadata - def is_preview_node(self): """Checks if the current node has a preview""" try: - is_preview = bool(self.get_viz_metadata()["preview_args"]) + is_preview = bool(self.viz_metadata["preview_args"]) except (AttributeError, KeyError): return False return is_preview def get_preview_nrows(self): """Gets the number of rows for the preview dataset""" - return self.get_viz_metadata()["preview_args"] + return self.viz_metadata["preview_args"] @dataclass From faac571f8c149d9eb311f29427018f6aad4a6455 Mon Sep 17 00:00:00 2001 From: Rashida Kanchwala Date: Tue, 6 Jun 2023 13:59:23 +0100 Subject: [PATCH 06/13] remove default to None Signed-off-by: Rashida Kanchwala --- package/kedro_viz/models/flowchart.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kedro_viz/models/flowchart.py b/package/kedro_viz/models/flowchart.py index 5b10c29b88..2e4319e3ae 100644 --- a/package/kedro_viz/models/flowchart.py +++ b/package/kedro_viz/models/flowchart.py @@ -442,7 +442,7 @@ class DataNode(GraphNode): # the list of modular pipelines this data node belongs to modular_pipelines: List[str] = field(init=False) - viz_metadata: Optional[Dict] = field(init=False, default=None) + viz_metadata: Optional[Dict] = field(init=False) # command to run the pipeline to this node run_command: Optional[str] = field(init=False, default=None) From 9346fb80b0b3cfd8863aaf1c6f02c09ec4444f77 Mon Sep 17 00:00:00 2001 From: Rashida Kanchwala Date: Tue, 6 Jun 2023 16:24:32 +0100 Subject: [PATCH 07/13] changes based on review Signed-off-by: Rashida Kanchwala --- demo-project/conf/base/catalog_01_raw.yml | 1 + demo-project/conf/base/catalog_04_feature.yml | 1 - package/kedro_viz/models/flowchart.py | 9 +++++---- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/demo-project/conf/base/catalog_01_raw.yml b/demo-project/conf/base/catalog_01_raw.yml index 334b73edc5..d82d687a18 100644 --- a/demo-project/conf/base/catalog_01_raw.yml +++ b/demo-project/conf/base/catalog_01_raw.yml @@ -5,6 +5,7 @@ companies: kedro-viz: layer: raw preview_args: + nrows: 5 reviews: type: pandas.CSVDataSet diff --git a/demo-project/conf/base/catalog_04_feature.yml b/demo-project/conf/base/catalog_04_feature.yml index b22ee34028..6173bffa70 100644 --- a/demo-project/conf/base/catalog_04_feature.yml +++ b/demo-project/conf/base/catalog_04_feature.yml @@ -32,6 +32,5 @@ feature_importance_output: metadata: kedro-viz: layer: feature - preview: 2 diff --git a/package/kedro_viz/models/flowchart.py b/package/kedro_viz/models/flowchart.py index 2e4319e3ae..9a9b7ced48 100644 --- a/package/kedro_viz/models/flowchart.py +++ b/package/kedro_viz/models/flowchart.py @@ -464,8 +464,9 @@ def __post_init__(self): if metadata: try: self.viz_metadata = metadata["kedro-viz"] - except (AttributeError, KeyError): - pass + except (AttributeError, KeyError) as e: + logger.debug("Kedro-viz metadata not found for %s", self.full_name) + # TODO: improve this scheme. def is_plot_node(self): @@ -502,7 +503,7 @@ def is_preview_node(self): return False return is_preview - def get_preview_nrows(self): + def get_preview_args(self): """Gets the number of rows for the preview dataset""" return self.viz_metadata["preview_args"] @@ -611,7 +612,7 @@ def __post_init__(self, data_node: DataNode): self.tracking_data = dataset.load() elif data_node.is_preview_node(): try: - self.preview = dataset._preview(**data_node.get_preview_nrows()) + self.preview = dataset._preview(**data_node.get_preview_args()) except Exception as exc: # pylint: disable=broad-except # pragma: no cover logger.warning( "'%s' could not be previewed. Full exception: %s: %s", From 0c98271224ac36fa99cc220497621122dc010d52 Mon Sep 17 00:00:00 2001 From: Rashida Kanchwala Date: Tue, 6 Jun 2023 18:00:02 +0100 Subject: [PATCH 08/13] review fixes Signed-off-by: Rashida Kanchwala --- package/kedro_viz/models/flowchart.py | 5 ++--- package/tests/test_models/test_flowchart.py | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/package/kedro_viz/models/flowchart.py b/package/kedro_viz/models/flowchart.py index 9a9b7ced48..e168dea5d4 100644 --- a/package/kedro_viz/models/flowchart.py +++ b/package/kedro_viz/models/flowchart.py @@ -464,10 +464,9 @@ def __post_init__(self): if metadata: try: self.viz_metadata = metadata["kedro-viz"] - except (AttributeError, KeyError) as e: + except (AttributeError, KeyError): logger.debug("Kedro-viz metadata not found for %s", self.full_name) - # TODO: improve this scheme. def is_plot_node(self): """Check if the current node is a plot node. @@ -504,7 +503,7 @@ def is_preview_node(self): return is_preview def get_preview_args(self): - """Gets the number of rows for the preview dataset""" + """Gets the preview arguments for a dataset""" return self.viz_metadata["preview_args"] diff --git a/package/tests/test_models/test_flowchart.py b/package/tests/test_models/test_flowchart.py index d98b69aaa8..cacc749609 100644 --- a/package/tests/test_models/test_flowchart.py +++ b/package/tests/test_models/test_flowchart.py @@ -370,7 +370,7 @@ def test_data_node_metadata(self): assert data_node_metadata.run_command == "kedro run --to-outputs=dataset" def test_get_preview_nrows(self): - metadata = {"kedro-viz": {"preview": 3}} + metadata = {"kedro-viz": {"preview_args": {"nrows": 3}}} dataset = CSVDataSet(filepath="test.csv", metadata=metadata) data_node = GraphNode.create_data_node( full_name="dataset", @@ -378,7 +378,7 @@ def test_get_preview_nrows(self): layer=None, dataset=dataset, ) - assert data_node.get_preview_nrows() == 3 + assert data_node.get_preview_args() == 3 def test_preview_data_node_metadata(self): mock_preview_data = { From e604031d6e6fb39afddb428b213ba79cca08c968 Mon Sep 17 00:00:00 2001 From: Rashida Kanchwala Date: Wed, 7 Jun 2023 09:28:39 +0100 Subject: [PATCH 09/13] fix lint and tests Signed-off-by: Rashida Kanchwala --- package/kedro_viz/models/flowchart.py | 2 +- package/tests/test_models/test_flowchart.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/package/kedro_viz/models/flowchart.py b/package/kedro_viz/models/flowchart.py index e168dea5d4..ca7491fb73 100644 --- a/package/kedro_viz/models/flowchart.py +++ b/package/kedro_viz/models/flowchart.py @@ -464,7 +464,7 @@ def __post_init__(self): if metadata: try: self.viz_metadata = metadata["kedro-viz"] - except (AttributeError, KeyError): + except (AttributeError, KeyError): # pragma: no cover logger.debug("Kedro-viz metadata not found for %s", self.full_name) # TODO: improve this scheme. diff --git a/package/tests/test_models/test_flowchart.py b/package/tests/test_models/test_flowchart.py index 5a694e3746..711b229408 100644 --- a/package/tests/test_models/test_flowchart.py +++ b/package/tests/test_models/test_flowchart.py @@ -369,7 +369,7 @@ def test_data_node_metadata(self): assert data_node_metadata.filepath == "/tmp/dataset.csv" assert data_node_metadata.run_command == "kedro run --to-outputs=dataset" - def test_get_preview_nrows(self): + def test_get_preview_args(self): metadata = {"kedro-viz": {"preview_args": {"nrows": 3}}} dataset = CSVDataSet(filepath="test.csv", metadata=metadata) data_node = GraphNode.create_data_node( @@ -378,7 +378,8 @@ def test_get_preview_nrows(self): layer=None, dataset=dataset, ) - assert data_node.get_preview_args() == 3 + assert data_node.is_preview_node() is True + assert data_node.get_preview_args() == {"nrows": 3} def test_preview_data_node_metadata(self): mock_preview_data = { From d5ed36943359499c65e4a62f93f5ec43ac13fef6 Mon Sep 17 00:00:00 2001 From: Rashida Kanchwala Date: Wed, 7 Jun 2023 09:38:03 +0100 Subject: [PATCH 10/13] fix lint Signed-off-by: Rashida Kanchwala --- package/kedro_viz/integrations/kedro/data_loader.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package/kedro_viz/integrations/kedro/data_loader.py b/package/kedro_viz/integrations/kedro/data_loader.py index f64c98c0e0..131be3c882 100644 --- a/package/kedro_viz/integrations/kedro/data_loader.py +++ b/package/kedro_viz/integrations/kedro/data_loader.py @@ -80,9 +80,9 @@ def load_data( with KedroSession.create( project_path=project_path, - env=env, + env=env, # type: ignore save_on_close=False, - extra_params=extra_params, + extra_params=extra_params, # type: ignore ) as session: context = session.load_context() session_store = session._store @@ -100,9 +100,9 @@ def load_data( with KedroSession.create( project_path=project_path, - env=env, + env=env, # type: ignore save_on_close=False, - extra_params=extra_params, + extra_params=extra_params, # type: ignore ) as session: context = session.load_context() session_store = session._store @@ -118,9 +118,9 @@ def load_data( with KedroSession.create( package_name=metadata.package_name, project_path=project_path, - env=env, + env=env, # type: ignore save_on_close=False, - extra_params=extra_params, + extra_params=extra_params, # type: ignore ) as session: context = session.load_context() session_store = session._store From 90ea841a13081fcb58ceadc91abea52e402752b1 Mon Sep 17 00:00:00 2001 From: Rashida Kanchwala Date: Wed, 7 Jun 2023 09:39:34 +0100 Subject: [PATCH 11/13] fix space Signed-off-by: Rashida Kanchwala --- package/kedro_viz/integrations/kedro/data_loader.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package/kedro_viz/integrations/kedro/data_loader.py b/package/kedro_viz/integrations/kedro/data_loader.py index 131be3c882..99c6e5736e 100644 --- a/package/kedro_viz/integrations/kedro/data_loader.py +++ b/package/kedro_viz/integrations/kedro/data_loader.py @@ -80,9 +80,9 @@ def load_data( with KedroSession.create( project_path=project_path, - env=env, # type: ignore + env=env, # type: ignore save_on_close=False, - extra_params=extra_params, # type: ignore + extra_params=extra_params, # type: ignore ) as session: context = session.load_context() session_store = session._store @@ -100,9 +100,9 @@ def load_data( with KedroSession.create( project_path=project_path, - env=env, # type: ignore + env=env, # type: ignore save_on_close=False, - extra_params=extra_params, # type: ignore + extra_params=extra_params, # type: ignore ) as session: context = session.load_context() session_store = session._store @@ -118,9 +118,9 @@ def load_data( with KedroSession.create( package_name=metadata.package_name, project_path=project_path, - env=env, # type: ignore + env=env, # type: ignore save_on_close=False, - extra_params=extra_params, # type: ignore + extra_params=extra_params, # type: ignore ) as session: context = session.load_context() session_store = session._store From 4d85ddbae4769d277f86968ae74d3fbd457dfa10 Mon Sep 17 00:00:00 2001 From: Rashida Kanchwala Date: Wed, 7 Jun 2023 10:00:20 +0100 Subject: [PATCH 12/13] fix lint Signed-off-by: Rashida Kanchwala --- package/kedro_viz/models/flowchart.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kedro_viz/models/flowchart.py b/package/kedro_viz/models/flowchart.py index ca7491fb73..0620e350bb 100644 --- a/package/kedro_viz/models/flowchart.py +++ b/package/kedro_viz/models/flowchart.py @@ -611,7 +611,7 @@ def __post_init__(self, data_node: DataNode): self.tracking_data = dataset.load() elif data_node.is_preview_node(): try: - self.preview = dataset._preview(**data_node.get_preview_args()) + self.preview = dataset._preview(**data_node.get_preview_args()) # type: ignore except Exception as exc: # pylint: disable=broad-except # pragma: no cover logger.warning( "'%s' could not be previewed. Full exception: %s: %s", From 4ee836707f2257fd9ed9990f3439e29b4e884aed Mon Sep 17 00:00:00 2001 From: Rashida Kanchwala Date: Thu, 8 Jun 2023 18:36:56 +0100 Subject: [PATCH 13/13] add release notes and test Signed-off-by: Rashida Kanchwala --- RELEASE.md | 3 ++- package/tests/test_models/test_flowchart.py | 13 ++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index 2b12aab7bf..856fb0d657 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -10,7 +10,8 @@ Please follow the established format: ## Major features and improvements -- Add support for new kedro-viz layer configuration in kedro-datasets. (#1373) +- Add support for new kedro-viz layer configuration in kedro-datasets version 1.3.0 or more. +- Add support for new kedro-viz preview_args configuration in kedro-datasets version 1.3.0 or more. # Release 6.2.0 diff --git a/package/tests/test_models/test_flowchart.py b/package/tests/test_models/test_flowchart.py index 711b229408..6dec2e9968 100644 --- a/package/tests/test_models/test_flowchart.py +++ b/package/tests/test_models/test_flowchart.py @@ -369,6 +369,17 @@ def test_data_node_metadata(self): assert data_node_metadata.filepath == "/tmp/dataset.csv" assert data_node_metadata.run_command == "kedro run --to-outputs=dataset" + def test_preview_args_not_exist(self): + metadata = {"kedro-viz": {"something": 3}} + dataset = CSVDataSet(filepath="test.csv", metadata=metadata) + data_node = GraphNode.create_data_node( + full_name="dataset", + tags=set(), + layer=None, + dataset=dataset, + ) + assert not data_node.is_preview_node() + def test_get_preview_args(self): metadata = {"kedro-viz": {"preview_args": {"nrows": 3}}} dataset = CSVDataSet(filepath="test.csv", metadata=metadata) @@ -378,7 +389,7 @@ def test_get_preview_args(self): layer=None, dataset=dataset, ) - assert data_node.is_preview_node() is True + assert data_node.is_preview_node() assert data_node.get_preview_args() == {"nrows": 3} def test_preview_data_node_metadata(self):