From c20a26c414834bae4aa631bf7789057b36d8f675 Mon Sep 17 00:00:00 2001 From: m4nn2609-dot Date: Wed, 24 Jun 2026 13:38:44 +0530 Subject: [PATCH 1/6] Add dict method for report data conversion Added a dict method to convert report data to a Python dictionary format. --- skrub/_reporting/_table_report.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/skrub/_reporting/_table_report.py b/skrub/_reporting/_table_report.py index db491170f..224c9fc55 100644 --- a/skrub/_reporting/_table_report.py +++ b/skrub/_reporting/_table_report.py @@ -439,6 +439,15 @@ def json(self): to_remove = ["dataframe", "sample_table"] data = {k: v for k, v in self._summary.items() if k not in to_remove} return json.dumps(data, cls=JSONEncoder) + def dict(self): + """Get the report data in Python Dictionary format. + + Returns + ------- + dict : + The report data + """ + return json.loads(self.json()) def markdown(self): """Get the report as a Markdown string. From 32eebbb6108c378ab3eb5e1431660ad579df7bad Mon Sep 17 00:00:00 2001 From: m4nn2609-dot Date: Thu, 25 Jun 2026 16:40:41 +0530 Subject: [PATCH 2/6] corrected the formatting mistake --- skrub/_reporting/_table_report.py | 1 + 1 file changed, 1 insertion(+) diff --git a/skrub/_reporting/_table_report.py b/skrub/_reporting/_table_report.py index 224c9fc55..0768b9628 100644 --- a/skrub/_reporting/_table_report.py +++ b/skrub/_reporting/_table_report.py @@ -439,6 +439,7 @@ def json(self): to_remove = ["dataframe", "sample_table"] data = {k: v for k, v in self._summary.items() if k not in to_remove} return json.dumps(data, cls=JSONEncoder) + def dict(self): """Get the report data in Python Dictionary format. From 796a2b1be2ccbd654a942f5791ceb0ab497fed56 Mon Sep 17 00:00:00 2001 From: m4nn2609-dot Date: Thu, 25 Jun 2026 17:04:28 +0530 Subject: [PATCH 3/6] updated the changelog Added new features to the CHANGES.rst file, including updates on TableReport and SkrubLearner methods. --- CHANGES.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index ca010cb05..02c140ea7 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -11,6 +11,8 @@ Ongoing development New Features ------------ +- :meth:`TableReport.dict` now allows exporting the report data as a Python + -dictionary. :pr:`2188` by :user:`m4nn2609-dot `. - New methods :meth:`SkrubLearner.get_named_params` and :meth:`SkrubLearner.set_named_params` allow getting and setting the outcomes for choices contained in the DataOp, keyed by choice name. It provides a more From 961d68760b7c2c2fdec6558c2e0442c94723ed53 Mon Sep 17 00:00:00 2001 From: m4nn2609-dot Date: Thu, 25 Jun 2026 17:08:36 +0530 Subject: [PATCH 4/6] Update CHANGES.rst to fix formatting issue --- CHANGES.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 02c140ea7..51935540d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -11,8 +11,7 @@ Ongoing development New Features ------------ -- :meth:`TableReport.dict` now allows exporting the report data as a Python - -dictionary. :pr:`2188` by :user:`m4nn2609-dot `. +- :meth:`TableReport.dict` now allows exporting the report data as a Python dictionary. :pr:`2188` by :user:`m4nn2609-dot `. - New methods :meth:`SkrubLearner.get_named_params` and :meth:`SkrubLearner.set_named_params` allow getting and setting the outcomes for choices contained in the DataOp, keyed by choice name. It provides a more From 7818641b64ed2e92872715dcfc3cdcc146e8479e Mon Sep 17 00:00:00 2001 From: m4nn2609-dot Date: Thu, 25 Jun 2026 17:48:58 +0530 Subject: [PATCH 5/6] Add test for TableReport dict method --- skrub/_reporting/tests/test_table_report.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/skrub/_reporting/tests/test_table_report.py b/skrub/_reporting/tests/test_table_report.py index 6ad36ab30..03ad7545b 100644 --- a/skrub/_reporting/tests/test_table_report.py +++ b/skrub/_reporting/tests/test_table_report.py @@ -674,3 +674,8 @@ def test_column_filters_fail(df_module, filter, expected, match): ) with pytest.raises(expected, match=match): TableReport(df, column_filters=filter) + + +def test_table_report_dict(air_quality): + report = TableReport(air_quality) + assert report.dict() == json.loads(report.json()) From bc185e1163b31b51ae46557393591c9fc175366c Mon Sep 17 00:00:00 2001 From: m4nn2609-dot Date: Thu, 25 Jun 2026 19:41:19 +0530 Subject: [PATCH 6/6] Remove trailing whitespace from _table_report.py --- skrub/_reporting/_table_report.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skrub/_reporting/_table_report.py b/skrub/_reporting/_table_report.py index 0768b9628..fcfab4736 100644 --- a/skrub/_reporting/_table_report.py +++ b/skrub/_reporting/_table_report.py @@ -439,7 +439,7 @@ def json(self): to_remove = ["dataframe", "sample_table"] data = {k: v for k, v in self._summary.items() if k not in to_remove} return json.dumps(data, cls=JSONEncoder) - + def dict(self): """Get the report data in Python Dictionary format.