We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Add `show_history` option to Spreadsheet API
Changes were made to the `modin_spreadsheet` API `show_grid`. Make corresponding changes on Spreadsheet API `from_dataframe`.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `modin/spreadsheet/general.py`
Content:
```
1 # Licensed to Modin Development Team under one or more contributor license agreements.
2 # See the NOTICE file distributed with this work for additional information regarding
3 # copyright ownership.  The Modin Development Team licenses this file to you under the
4 # Apache License, Version 2.0 (the "License"); you may not use this file except in
5 # compliance with the License.  You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software distributed under
10 # the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11 # ANY KIND, either express or implied. See the License for the specific language
12 # governing permissions and limitations under the License.
13 
14 from .. import pandas as pd
15 from modin_spreadsheet import show_grid, SpreadsheetWidget
16 
17 
18 def from_dataframe(
19     dataframe,
20     show_toolbar=None,
21     precision=None,
22     grid_options=None,
23     column_options=None,
24     column_definitions=None,
25     row_edit_callback=None,
26 ):
27     """
28     Renders a DataFrame or Series as an interactive spreadsheet, represented by
29     an instance of the ``SpreadsheetWidget`` class.  The ``SpreadsheetWidget`` instance
30     is constructed using the options passed in to this function.  The
31     ``dataframe`` argument to this function is used as the ``df`` kwarg in
32     call to the SpreadsheetWidget constructor, and the rest of the parameters
33     are passed through as is.
34 
35     If the ``dataframe`` argument is a Series, it will be converted to a
36     DataFrame before being passed in to the SpreadsheetWidget constructor as the
37     ``df`` kwarg.
38 
39     :rtype: SpreadsheetWidget
40 
41     Parameters
42     ----------
43     dataframe : DataFrame
44         The DataFrame that will be displayed by this instance of
45         SpreadsheetWidget.
46     grid_options : dict
47         Options to use when creating the SlickGrid control (i.e. the
48         interactive grid).  See the Notes section below for more information
49         on the available options, as well as the default options that this
50         widget uses.
51     precision : integer
52         The number of digits of precision to display for floating-point
53         values.  If unset, we use the value of
54         `pandas.get_option('display.precision')`.
55     show_toolbar : bool
56         Whether to show a toolbar with options for adding/removing rows.
57         Adding/removing rows is an experimental feature which only works
58         with DataFrames that have an integer index.
59     column_options : dict
60         Column options that are to be applied to every column. See the
61         Notes section below for more information on the available options,
62         as well as the default options that this widget uses.
63     column_definitions : dict
64         Column options that are to be applied to individual
65         columns. The keys of the dict should be the column names, and each
66         value should be the column options for a particular column,
67         represented as a dict. The available options for each column are the
68         same options that are available to be set for all columns via the
69         ``column_options`` parameter. See the Notes section below for more
70         information on those options.
71     row_edit_callback : callable
72         A callable that is called to determine whether a particular row
73         should be editable or not. Its signature should be
74         ``callable(row)``, where ``row`` is a dictionary which contains a
75         particular row's values, keyed by column name. The callback should
76         return True if the provided row should be editable, and False
77         otherwise.
78 
79 
80     Notes
81     -----
82     The following dictionary is used for ``grid_options`` if none are
83     provided explicitly::
84 
85         {
86             # SlickGrid options
87             'fullWidthRows': True,
88             'syncColumnCellResize': True,
89             'forceFitColumns': False,
90             'defaultColumnWidth': 150,
91             'rowHeight': 28,
92             'enableColumnReorder': False,
93             'enableTextSelectionOnCells': True,
94             'editable': True,
95             'autoEdit': False,
96             'explicitInitialization': True,
97 
98             # Modin-spreadsheet options
99             'maxVisibleRows': 15,
100             'minVisibleRows': 8,
101             'sortable': True,
102             'filterable': True,
103             'highlightSelectedCell': False,
104             'highlightSelectedRow': True
105         }
106 
107     The first group of options are SlickGrid "grid options" which are
108     described in the `SlickGrid documentation
109     <https://github.com/mleibman/SlickGrid/wiki/Grid-Options>`_.
110 
111     The second group of option are options that were added specifically
112     for modin-spreadsheet and therefore are not documented in the SlickGrid documentation.
113     The following bullet points describe these options.
114 
115     * **maxVisibleRows** The maximum number of rows that modin-spreadsheet will show.
116     * **minVisibleRows** The minimum number of rows that modin-spreadsheet will show
117     * **sortable** Whether the modin-spreadsheet instance will allow the user to sort
118       columns by clicking the column headers. When this is set to ``False``,
119       nothing will happen when users click the column headers.
120     * **filterable** Whether the modin-spreadsheet instance will allow the user to filter
121       the grid. When this is set to ``False`` the filter icons won't be shown
122       for any columns.
123     * **highlightSelectedCell** If you set this to True, the selected cell
124       will be given a light blue border.
125     * **highlightSelectedRow** If you set this to False, the light blue
126       background that's shown by default for selected rows will be hidden.
127 
128     The following dictionary is used for ``column_options`` if none are
129     provided explicitly::
130 
131         {
132             # SlickGrid column options
133             'defaultSortAsc': True,
134             'maxWidth': None,
135             'minWidth': 30,
136             'resizable': True,
137             'sortable': True,
138             'toolTip': "",
139             'width': None
140 
141             # Modin-spreadsheet column options
142             'editable': True,
143         }
144 
145     The first group of options are SlickGrid "column options" which are
146     described in the `SlickGrid documentation
147     <https://github.com/mleibman/SlickGrid/wiki/Column-Options>`_.
148 
149     The ``editable`` option was added specifically for modin-spreadsheet and therefore is
150     not documented in the SlickGrid documentation.  This option specifies
151     whether a column should be editable or not.
152 
153     See Also
154     --------
155     set_defaults : Permanently set global defaults for the parameters
156                    of ``show_grid``, with the exception of the ``dataframe``
157                    and ``column_definitions`` parameters, since those
158                    depend on the particular set of data being shown by an
159                    instance, and therefore aren't parameters we would want
160                    to set for all SpreadsheetWidget instances.
161     set_grid_option : Permanently set global defaults for individual
162                       grid options.  Does so by changing the defaults
163                       that the ``show_grid`` method uses for the
164                       ``grid_options`` parameter.
165     SpreadsheetWidget : The widget class that is instantiated and returned by this
166                   method.
167 
168     """
169     if not isinstance(dataframe, pd.DataFrame):
170         raise TypeError("dataframe must be modin.DataFrame, not %s" % type(dataframe))
171     return show_grid(
172         dataframe,
173         show_toolbar,
174         precision,
175         grid_options,
176         column_options,
177         column_definitions,
178         row_edit_callback,
179     )
180 
181 
182 def to_dataframe(spreadsheet):
183     """
184     Get a copy of the DataFrame that reflects the current state of the ``spreadsheet`` SpreadsheetWidget instance UI.
185     This includes any sorting or filtering changes, as well as edits
186     that have been made by double clicking cells.
187 
188     :rtype: DataFrame
189 
190     Parameters
191     ----------
192     spreadsheet : SpreadsheetWidget
193         The SpreadsheetWidget instance that DataFrame that will be displayed by this instance of
194         SpreadsheetWidget.
195     """
196     if not isinstance(spreadsheet, SpreadsheetWidget):
197         raise TypeError(
198             "spreadsheet must be modin_spreadsheet.SpreadsheetWidget, not %s"
199             % type(spreadsheet)
200         )
201     return spreadsheet.get_changed_df()
202
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/modin/spreadsheet/general.py b/modin/spreadsheet/general.py
--- a/modin/spreadsheet/general.py
+++ b/modin/spreadsheet/general.py
@@ -18,6 +18,7 @@
 def from_dataframe(
     dataframe,
     show_toolbar=None,
+    show_history=None,
     precision=None,
     grid_options=None,
     column_options=None,
@@ -56,6 +57,9 @@
         Whether to show a toolbar with options for adding/removing rows.
         Adding/removing rows is an experimental feature which only works
         with DataFrames that have an integer index.
+    show_history : bool
+        Whether to show the cell containing the spreadsheet transformation
+        history.
     column_options : dict
         Column options that are to be applied to every column. See the
         Notes section below for more information on the available options,
@@ -171,6 +175,7 @@
     return show_grid(
         dataframe,
         show_toolbar,
+        show_history,
         precision,
         grid_options,
         column_options,

{"golden_diff": "diff --git a/modin/spreadsheet/general.py b/modin/spreadsheet/general.py\n--- a/modin/spreadsheet/general.py\n+++ b/modin/spreadsheet/general.py\n@@ -18,6 +18,7 @@\n def from_dataframe(\n     dataframe,\n     show_toolbar=None,\n+    show_history=None,\n     precision=None,\n     grid_options=None,\n     column_options=None,\n@@ -56,6 +57,9 @@\n         Whether to show a toolbar with options for adding/removing rows.\n         Adding/removing rows is an experimental feature which only works\n         with DataFrames that have an integer index.\n+    show_history : bool\n+        Whether to show the cell containing the spreadsheet transformation\n+        history.\n     column_options : dict\n         Column options that are to be applied to every column. See the\n         Notes section below for more information on the available options,\n@@ -171,6 +175,7 @@\n     return show_grid(\n         dataframe,\n         show_toolbar,\n+        show_history,\n         precision,\n         grid_options,\n         column_options,\n", "issue": "Add `show_history` option to Spreadsheet API\nChanges were made to the `modin_spreadsheet` API `show_grid`. Make corresponding changes on Spreadsheet API `from_dataframe`.\n", "before_files": [{"content": "# Licensed to Modin Development Team under one or more contributor license agreements.\n# See the NOTICE file distributed with this work for additional information regarding\n# copyright ownership.  The Modin Development Team licenses this file to you under the\n# Apache License, Version 2.0 (the \"License\"); you may not use this file except in\n# compliance with the License.  You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software distributed under\n# the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n# ANY KIND, either express or implied. See the License for the specific language\n# governing permissions and limitations under the License.\n\nfrom .. import pandas as pd\nfrom modin_spreadsheet import show_grid, SpreadsheetWidget\n\n\ndef from_dataframe(\n    dataframe,\n    show_toolbar=None,\n    precision=None,\n    grid_options=None,\n    column_options=None,\n    column_definitions=None,\n    row_edit_callback=None,\n):\n    \"\"\"\n    Renders a DataFrame or Series as an interactive spreadsheet, represented by\n    an instance of the ``SpreadsheetWidget`` class.  The ``SpreadsheetWidget`` instance\n    is constructed using the options passed in to this function.  The\n    ``dataframe`` argument to this function is used as the ``df`` kwarg in\n    call to the SpreadsheetWidget constructor, and the rest of the parameters\n    are passed through as is.\n\n    If the ``dataframe`` argument is a Series, it will be converted to a\n    DataFrame before being passed in to the SpreadsheetWidget constructor as the\n    ``df`` kwarg.\n\n    :rtype: SpreadsheetWidget\n\n    Parameters\n    ----------\n    dataframe : DataFrame\n        The DataFrame that will be displayed by this instance of\n        SpreadsheetWidget.\n    grid_options : dict\n        Options to use when creating the SlickGrid control (i.e. the\n        interactive grid).  See the Notes section below for more information\n        on the available options, as well as the default options that this\n        widget uses.\n    precision : integer\n        The number of digits of precision to display for floating-point\n        values.  If unset, we use the value of\n        `pandas.get_option('display.precision')`.\n    show_toolbar : bool\n        Whether to show a toolbar with options for adding/removing rows.\n        Adding/removing rows is an experimental feature which only works\n        with DataFrames that have an integer index.\n    column_options : dict\n        Column options that are to be applied to every column. See the\n        Notes section below for more information on the available options,\n        as well as the default options that this widget uses.\n    column_definitions : dict\n        Column options that are to be applied to individual\n        columns. The keys of the dict should be the column names, and each\n        value should be the column options for a particular column,\n        represented as a dict. The available options for each column are the\n        same options that are available to be set for all columns via the\n        ``column_options`` parameter. See the Notes section below for more\n        information on those options.\n    row_edit_callback : callable\n        A callable that is called to determine whether a particular row\n        should be editable or not. Its signature should be\n        ``callable(row)``, where ``row`` is a dictionary which contains a\n        particular row's values, keyed by column name. The callback should\n        return True if the provided row should be editable, and False\n        otherwise.\n\n\n    Notes\n    -----\n    The following dictionary is used for ``grid_options`` if none are\n    provided explicitly::\n\n        {\n            # SlickGrid options\n            'fullWidthRows': True,\n            'syncColumnCellResize': True,\n            'forceFitColumns': False,\n            'defaultColumnWidth': 150,\n            'rowHeight': 28,\n            'enableColumnReorder': False,\n            'enableTextSelectionOnCells': True,\n            'editable': True,\n            'autoEdit': False,\n            'explicitInitialization': True,\n\n            # Modin-spreadsheet options\n            'maxVisibleRows': 15,\n            'minVisibleRows': 8,\n            'sortable': True,\n            'filterable': True,\n            'highlightSelectedCell': False,\n            'highlightSelectedRow': True\n        }\n\n    The first group of options are SlickGrid \"grid options\" which are\n    described in the `SlickGrid documentation\n    <https://github.com/mleibman/SlickGrid/wiki/Grid-Options>`_.\n\n    The second group of option are options that were added specifically\n    for modin-spreadsheet and therefore are not documented in the SlickGrid documentation.\n    The following bullet points describe these options.\n\n    * **maxVisibleRows** The maximum number of rows that modin-spreadsheet will show.\n    * **minVisibleRows** The minimum number of rows that modin-spreadsheet will show\n    * **sortable** Whether the modin-spreadsheet instance will allow the user to sort\n      columns by clicking the column headers. When this is set to ``False``,\n      nothing will happen when users click the column headers.\n    * **filterable** Whether the modin-spreadsheet instance will allow the user to filter\n      the grid. When this is set to ``False`` the filter icons won't be shown\n      for any columns.\n    * **highlightSelectedCell** If you set this to True, the selected cell\n      will be given a light blue border.\n    * **highlightSelectedRow** If you set this to False, the light blue\n      background that's shown by default for selected rows will be hidden.\n\n    The following dictionary is used for ``column_options`` if none are\n    provided explicitly::\n\n        {\n            # SlickGrid column options\n            'defaultSortAsc': True,\n            'maxWidth': None,\n            'minWidth': 30,\n            'resizable': True,\n            'sortable': True,\n            'toolTip': \"\",\n            'width': None\n\n            # Modin-spreadsheet column options\n            'editable': True,\n        }\n\n    The first group of options are SlickGrid \"column options\" which are\n    described in the `SlickGrid documentation\n    <https://github.com/mleibman/SlickGrid/wiki/Column-Options>`_.\n\n    The ``editable`` option was added specifically for modin-spreadsheet and therefore is\n    not documented in the SlickGrid documentation.  This option specifies\n    whether a column should be editable or not.\n\n    See Also\n    --------\n    set_defaults : Permanently set global defaults for the parameters\n                   of ``show_grid``, with the exception of the ``dataframe``\n                   and ``column_definitions`` parameters, since those\n                   depend on the particular set of data being shown by an\n                   instance, and therefore aren't parameters we would want\n                   to set for all SpreadsheetWidget instances.\n    set_grid_option : Permanently set global defaults for individual\n                      grid options.  Does so by changing the defaults\n                      that the ``show_grid`` method uses for the\n                      ``grid_options`` parameter.\n    SpreadsheetWidget : The widget class that is instantiated and returned by this\n                  method.\n\n    \"\"\"\n    if not isinstance(dataframe, pd.DataFrame):\n        raise TypeError(\"dataframe must be modin.DataFrame, not %s\" % type(dataframe))\n    return show_grid(\n        dataframe,\n        show_toolbar,\n        precision,\n        grid_options,\n        column_options,\n        column_definitions,\n        row_edit_callback,\n    )\n\n\ndef to_dataframe(spreadsheet):\n    \"\"\"\n    Get a copy of the DataFrame that reflects the current state of the ``spreadsheet`` SpreadsheetWidget instance UI.\n    This includes any sorting or filtering changes, as well as edits\n    that have been made by double clicking cells.\n\n    :rtype: DataFrame\n\n    Parameters\n    ----------\n    spreadsheet : SpreadsheetWidget\n        The SpreadsheetWidget instance that DataFrame that will be displayed by this instance of\n        SpreadsheetWidget.\n    \"\"\"\n    if not isinstance(spreadsheet, SpreadsheetWidget):\n        raise TypeError(\n            \"spreadsheet must be modin_spreadsheet.SpreadsheetWidget, not %s\"\n            % type(spreadsheet)\n        )\n    return spreadsheet.get_changed_df()\n", "path": "modin/spreadsheet/general.py"}], "after_files": [{"content": "# Licensed to Modin Development Team under one or more contributor license agreements.\n# See the NOTICE file distributed with this work for additional information regarding\n# copyright ownership.  The Modin Development Team licenses this file to you under the\n# Apache License, Version 2.0 (the \"License\"); you may not use this file except in\n# compliance with the License.  You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software distributed under\n# the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n# ANY KIND, either express or implied. See the License for the specific language\n# governing permissions and limitations under the License.\n\nfrom .. import pandas as pd\nfrom modin_spreadsheet import show_grid, SpreadsheetWidget\n\n\ndef from_dataframe(\n    dataframe,\n    show_toolbar=None,\n    show_history=None,\n    precision=None,\n    grid_options=None,\n    column_options=None,\n    column_definitions=None,\n    row_edit_callback=None,\n):\n    \"\"\"\n    Renders a DataFrame or Series as an interactive spreadsheet, represented by\n    an instance of the ``SpreadsheetWidget`` class.  The ``SpreadsheetWidget`` instance\n    is constructed using the options passed in to this function.  The\n    ``dataframe`` argument to this function is used as the ``df`` kwarg in\n    call to the SpreadsheetWidget constructor, and the rest of the parameters\n    are passed through as is.\n\n    If the ``dataframe`` argument is a Series, it will be converted to a\n    DataFrame before being passed in to the SpreadsheetWidget constructor as the\n    ``df`` kwarg.\n\n    :rtype: SpreadsheetWidget\n\n    Parameters\n    ----------\n    dataframe : DataFrame\n        The DataFrame that will be displayed by this instance of\n        SpreadsheetWidget.\n    grid_options : dict\n        Options to use when creating the SlickGrid control (i.e. the\n        interactive grid).  See the Notes section below for more information\n        on the available options, as well as the default options that this\n        widget uses.\n    precision : integer\n        The number of digits of precision to display for floating-point\n        values.  If unset, we use the value of\n        `pandas.get_option('display.precision')`.\n    show_toolbar : bool\n        Whether to show a toolbar with options for adding/removing rows.\n        Adding/removing rows is an experimental feature which only works\n        with DataFrames that have an integer index.\n    show_history : bool\n        Whether to show the cell containing the spreadsheet transformation\n        history.\n    column_options : dict\n        Column options that are to be applied to every column. See the\n        Notes section below for more information on the available options,\n        as well as the default options that this widget uses.\n    column_definitions : dict\n        Column options that are to be applied to individual\n        columns. The keys of the dict should be the column names, and each\n        value should be the column options for a particular column,\n        represented as a dict. The available options for each column are the\n        same options that are available to be set for all columns via the\n        ``column_options`` parameter. See the Notes section below for more\n        information on those options.\n    row_edit_callback : callable\n        A callable that is called to determine whether a particular row\n        should be editable or not. Its signature should be\n        ``callable(row)``, where ``row`` is a dictionary which contains a\n        particular row's values, keyed by column name. The callback should\n        return True if the provided row should be editable, and False\n        otherwise.\n\n\n    Notes\n    -----\n    The following dictionary is used for ``grid_options`` if none are\n    provided explicitly::\n\n        {\n            # SlickGrid options\n            'fullWidthRows': True,\n            'syncColumnCellResize': True,\n            'forceFitColumns': False,\n            'defaultColumnWidth': 150,\n            'rowHeight': 28,\n            'enableColumnReorder': False,\n            'enableTextSelectionOnCells': True,\n            'editable': True,\n            'autoEdit': False,\n            'explicitInitialization': True,\n\n            # Modin-spreadsheet options\n            'maxVisibleRows': 15,\n            'minVisibleRows': 8,\n            'sortable': True,\n            'filterable': True,\n            'highlightSelectedCell': False,\n            'highlightSelectedRow': True\n        }\n\n    The first group of options are SlickGrid \"grid options\" which are\n    described in the `SlickGrid documentation\n    <https://github.com/mleibman/SlickGrid/wiki/Grid-Options>`_.\n\n    The second group of option are options that were added specifically\n    for modin-spreadsheet and therefore are not documented in the SlickGrid documentation.\n    The following bullet points describe these options.\n\n    * **maxVisibleRows** The maximum number of rows that modin-spreadsheet will show.\n    * **minVisibleRows** The minimum number of rows that modin-spreadsheet will show\n    * **sortable** Whether the modin-spreadsheet instance will allow the user to sort\n      columns by clicking the column headers. When this is set to ``False``,\n      nothing will happen when users click the column headers.\n    * **filterable** Whether the modin-spreadsheet instance will allow the user to filter\n      the grid. When this is set to ``False`` the filter icons won't be shown\n      for any columns.\n    * **highlightSelectedCell** If you set this to True, the selected cell\n      will be given a light blue border.\n    * **highlightSelectedRow** If you set this to False, the light blue\n      background that's shown by default for selected rows will be hidden.\n\n    The following dictionary is used for ``column_options`` if none are\n    provided explicitly::\n\n        {\n            # SlickGrid column options\n            'defaultSortAsc': True,\n            'maxWidth': None,\n            'minWidth': 30,\n            'resizable': True,\n            'sortable': True,\n            'toolTip': \"\",\n            'width': None\n\n            # Modin-spreadsheet column options\n            'editable': True,\n        }\n\n    The first group of options are SlickGrid \"column options\" which are\n    described in the `SlickGrid documentation\n    <https://github.com/mleibman/SlickGrid/wiki/Column-Options>`_.\n\n    The ``editable`` option was added specifically for modin-spreadsheet and therefore is\n    not documented in the SlickGrid documentation.  This option specifies\n    whether a column should be editable or not.\n\n    See Also\n    --------\n    set_defaults : Permanently set global defaults for the parameters\n                   of ``show_grid``, with the exception of the ``dataframe``\n                   and ``column_definitions`` parameters, since those\n                   depend on the particular set of data being shown by an\n                   instance, and therefore aren't parameters we would want\n                   to set for all SpreadsheetWidget instances.\n    set_grid_option : Permanently set global defaults for individual\n                      grid options.  Does so by changing the defaults\n                      that the ``show_grid`` method uses for the\n                      ``grid_options`` parameter.\n    SpreadsheetWidget : The widget class that is instantiated and returned by this\n                  method.\n\n    \"\"\"\n    if not isinstance(dataframe, pd.DataFrame):\n        raise TypeError(\"dataframe must be modin.DataFrame, not %s\" % type(dataframe))\n    return show_grid(\n        dataframe,\n        show_toolbar,\n        show_history,\n        precision,\n        grid_options,\n        column_options,\n        column_definitions,\n        row_edit_callback,\n    )\n\n\ndef to_dataframe(spreadsheet):\n    \"\"\"\n    Get a copy of the DataFrame that reflects the current state of the ``spreadsheet`` SpreadsheetWidget instance UI.\n    This includes any sorting or filtering changes, as well as edits\n    that have been made by double clicking cells.\n\n    :rtype: DataFrame\n\n    Parameters\n    ----------\n    spreadsheet : SpreadsheetWidget\n        The SpreadsheetWidget instance that DataFrame that will be displayed by this instance of\n        SpreadsheetWidget.\n    \"\"\"\n    if not isinstance(spreadsheet, SpreadsheetWidget):\n        raise TypeError(\n            \"spreadsheet must be modin_spreadsheet.SpreadsheetWidget, not %s\"\n            % type(spreadsheet)\n        )\n    return spreadsheet.get_changed_df()\n", "path": "modin/spreadsheet/general.py"}]}