We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Remove st.deck_gl_chart
### Problem

Remove st.deck_gl_chart now that the deprecation date is past


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `lib/streamlit/elements/deck_gl.py`
Content:
```
1 # Copyright 2018-2020 Streamlit Inc.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # 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
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 
15 """A Python wrapper around DeckGl."""
16 
17 import json
18 from typing import Any, List
19 
20 from streamlit import case_converters
21 from streamlit import config
22 from streamlit.proto.DeckGlChart_pb2 import DeckGlChart as DeckGlChartProto
23 import streamlit.elements.lib.dicttools as dicttools
24 import streamlit.elements.data_frame_proto as data_frame_proto
25 
26 from streamlit.logger import get_logger
27 
28 LOGGER = get_logger(__name__)
29 
30 
31 class DeckGlMixin:
32     def deck_gl_chart(dg, spec=None, use_container_width=False, **kwargs):
33         """Draw a map chart using the Deck.GL library.
34 
35         This API closely follows Deck.GL's JavaScript API
36         (https://deck.gl/#/documentation), with a few small adaptations and
37         some syntax sugar.
38 
39         When using this command, we advise all users to use a personal Mapbox
40         token. This ensures the map tiles used in this chart are more
41         robust. You can do this with the mapbox.token config option.
42 
43         To get a token for yourself, create an account at
44         https://mapbox.com. It's free! (for moderate usage levels) See
45         https://docs.streamlit.io/en/latest/cli.html#view-all-config-options for more
46         info on how to set config options.
47 
48         Parameters
49         ----------
50 
51         spec : dict
52             Keys in this dict can be:
53 
54             - Anything accepted by Deck.GL's top level element, such as
55               "viewport", "height", "width".
56 
57             - "layers": a list of dicts containing information to build a new
58               Deck.GL layer in the map. Each layer accepts the following keys:
59 
60                 - "data" : DataFrame
61                   The data for the current layer.
62 
63                 - "type" : str
64                   One of the Deck.GL layer types that are currently supported
65                   by Streamlit: ArcLayer, GridLayer, HexagonLayer, LineLayer,
66                   PointCloudLayer, ScatterplotLayer, ScreenGridLayer,
67                   TextLayer.
68 
69                 - Plus anything accepted by that layer type. The exact keys that
70                   are accepted depend on the "type" field, above. For example, for
71                   ScatterplotLayer you can set fields like "opacity", "filled",
72                   "stroked", and so on.
73 
74                   In addition, Deck.GL"s documentation for ScatterplotLayer
75                   shows you can use a "getRadius" field to individually set
76                   the radius of each circle in the plot. So here you would
77                   set "getRadius": "my_column" where "my_column" is the name
78                   of the column containing the radius data.
79 
80                   For things like "getPosition", which expect an array rather
81                   than a scalar value, we provide alternates that make the
82                   API simpler to use with dataframes:
83 
84                   - Instead of "getPosition" : use "getLatitude" and
85                     "getLongitude".
86                   - Instead of "getSourcePosition" : use "getLatitude" and
87                     "getLongitude".
88                   - Instead of "getTargetPosition" : use "getTargetLatitude"
89                     and "getTargetLongitude".
90                   - Instead of "getColor" : use "getColorR", "getColorG",
91                     "getColorB", and (optionally) "getColorA", for red,
92                     green, blue and alpha.
93                   - Instead of "getSourceColor" : use the same as above.
94                   - Instead of "getTargetColor" : use "getTargetColorR", etc.
95 
96         use_container_width : bool
97             If True, set the chart width to the column width. This takes
98             precedence over the figure's native `width` value.
99 
100         **kwargs : any
101             Same as spec, but as keywords. Keys are "unflattened" at the
102             underscore characters. For example, foo_bar_baz=123 becomes
103             foo={'bar': {'bar': 123}}.
104 
105         Example
106         -------
107         >>> st.deck_gl_chart(
108         ...     viewport={
109         ...         'latitude': 37.76,
110         ...         'longitude': -122.4,
111         ...         'zoom': 11,
112         ...         'pitch': 50,
113         ...     },
114         ...     layers=[{
115         ...         'type': 'HexagonLayer',
116         ...         'data': df,
117         ...         'radius': 200,
118         ...         'elevationScale': 4,
119         ...         'elevationRange': [0, 1000],
120         ...         'pickable': True,
121         ...         'extruded': True,
122         ...     }, {
123         ...         'type': 'ScatterplotLayer',
124         ...         'data': df,
125         ...     }])
126         ...
127 
128         .. output::
129            https://share.streamlit.io/0.50.0-td2L/index.html?id=3GfRygWqxuqB5UitZLjz9i
130            height: 530px
131 
132         """
133 
134         suppress_deprecation_warning = config.get_option(
135             "global.suppressDeprecationWarnings"
136         )
137         if not suppress_deprecation_warning:
138             import streamlit as st
139 
140             st.warning(
141                 """
142                 The `deck_gl_chart` widget is deprecated and will be removed on
143                 2020-05-01. To render a map, you should use `st.pydeck_chart` widget.
144             """
145             )
146 
147         deck_gl_proto = DeckGlChartProto()
148         marshall(deck_gl_proto, spec, use_container_width, **kwargs)
149         return dg._enqueue("deck_gl_chart", deck_gl_proto)  # type: ignore
150 
151 
152 def marshall(proto, spec=None, use_container_width=False, **kwargs):
153     """Marshall a proto with DeckGL chart info.
154 
155     See DeltaGenerator.deck_gl_chart for docs.
156     """
157     data = []  # type: List[Any]
158 
159     if spec is None:
160         spec = dict()
161 
162     # Merge spec with unflattened kwargs, where kwargs take precedence.
163     # This only works for string keys, but kwarg keys are strings anyways.
164     spec = dict(spec, **dicttools.unflatten(kwargs))
165 
166     if "layers" not in spec:
167         spec["layers"] = []
168 
169         # Syntax sugar: if no layers defined and data is passed at the top
170         # level, create a scatterplot layer with the top-level data by default.
171         if data is not None:
172             spec["layers"].append({"data": data, "type": "ScatterplotLayer"})
173 
174     for layer in spec["layers"]:
175         # Don't add layers that have no data.
176         if "data" not in layer:
177             continue
178 
179         # Remove DataFrame because it's not JSON-serializable
180         data = layer.pop("data")
181 
182         layer_proto = proto.layers.add()
183         fixed_layer = case_converters.convert_dict_keys(
184             case_converters.to_lower_camel_case, layer
185         )
186         layer_proto.spec = json.dumps(fixed_layer)
187         # TODO: If several layers use the same data frame, the data gets resent
188         # for each layer. Need to improve this.
189         data_frame_proto.marshall_data_frame(data, layer_proto.data)
190 
191     del spec["layers"]
192 
193     # Dump JSON after removing DataFrames (see loop above), because DataFrames
194     # are not JSON-serializable.
195     proto.spec = json.dumps(spec)
196     proto.use_container_width = use_container_width
197
```
--- 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/lib/streamlit/elements/deck_gl.py b/lib/streamlit/elements/deck_gl.py
--- a/lib/streamlit/elements/deck_gl.py
+++ b/lib/streamlit/elements/deck_gl.py
@@ -30,7 +30,11 @@
 
 class DeckGlMixin:
     def deck_gl_chart(dg, spec=None, use_container_width=False, **kwargs):
-        """Draw a map chart using the Deck.GL library.
+        """
+        .. deprecated:: 0.53.0
+            Use :func:`streamlit.pydeck_chart` instead.
+
+        Draw a map chart using the Deck.GL library.
 
         This API closely follows Deck.GL's JavaScript API
         (https://deck.gl/#/documentation), with a few small adaptations and

{"golden_diff": "diff --git a/lib/streamlit/elements/deck_gl.py b/lib/streamlit/elements/deck_gl.py\n--- a/lib/streamlit/elements/deck_gl.py\n+++ b/lib/streamlit/elements/deck_gl.py\n@@ -30,7 +30,11 @@\n \n class DeckGlMixin:\n     def deck_gl_chart(dg, spec=None, use_container_width=False, **kwargs):\n-        \"\"\"Draw a map chart using the Deck.GL library.\n+        \"\"\"\n+        .. deprecated:: 0.53.0\n+            Use :func:`streamlit.pydeck_chart` instead.\n+\n+        Draw a map chart using the Deck.GL library.\n \n         This API closely follows Deck.GL's JavaScript API\n         (https://deck.gl/#/documentation), with a few small adaptations and\n", "issue": "Remove st.deck_gl_chart\n### Problem\r\n\r\nRemove st.deck_gl_chart now that the deprecation date is past\r\n\n", "before_files": [{"content": "# Copyright 2018-2020 Streamlit Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# 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\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"A Python wrapper around DeckGl.\"\"\"\n\nimport json\nfrom typing import Any, List\n\nfrom streamlit import case_converters\nfrom streamlit import config\nfrom streamlit.proto.DeckGlChart_pb2 import DeckGlChart as DeckGlChartProto\nimport streamlit.elements.lib.dicttools as dicttools\nimport streamlit.elements.data_frame_proto as data_frame_proto\n\nfrom streamlit.logger import get_logger\n\nLOGGER = get_logger(__name__)\n\n\nclass DeckGlMixin:\n    def deck_gl_chart(dg, spec=None, use_container_width=False, **kwargs):\n        \"\"\"Draw a map chart using the Deck.GL library.\n\n        This API closely follows Deck.GL's JavaScript API\n        (https://deck.gl/#/documentation), with a few small adaptations and\n        some syntax sugar.\n\n        When using this command, we advise all users to use a personal Mapbox\n        token. This ensures the map tiles used in this chart are more\n        robust. You can do this with the mapbox.token config option.\n\n        To get a token for yourself, create an account at\n        https://mapbox.com. It's free! (for moderate usage levels) See\n        https://docs.streamlit.io/en/latest/cli.html#view-all-config-options for more\n        info on how to set config options.\n\n        Parameters\n        ----------\n\n        spec : dict\n            Keys in this dict can be:\n\n            - Anything accepted by Deck.GL's top level element, such as\n              \"viewport\", \"height\", \"width\".\n\n            - \"layers\": a list of dicts containing information to build a new\n              Deck.GL layer in the map. Each layer accepts the following keys:\n\n                - \"data\" : DataFrame\n                  The data for the current layer.\n\n                - \"type\" : str\n                  One of the Deck.GL layer types that are currently supported\n                  by Streamlit: ArcLayer, GridLayer, HexagonLayer, LineLayer,\n                  PointCloudLayer, ScatterplotLayer, ScreenGridLayer,\n                  TextLayer.\n\n                - Plus anything accepted by that layer type. The exact keys that\n                  are accepted depend on the \"type\" field, above. For example, for\n                  ScatterplotLayer you can set fields like \"opacity\", \"filled\",\n                  \"stroked\", and so on.\n\n                  In addition, Deck.GL\"s documentation for ScatterplotLayer\n                  shows you can use a \"getRadius\" field to individually set\n                  the radius of each circle in the plot. So here you would\n                  set \"getRadius\": \"my_column\" where \"my_column\" is the name\n                  of the column containing the radius data.\n\n                  For things like \"getPosition\", which expect an array rather\n                  than a scalar value, we provide alternates that make the\n                  API simpler to use with dataframes:\n\n                  - Instead of \"getPosition\" : use \"getLatitude\" and\n                    \"getLongitude\".\n                  - Instead of \"getSourcePosition\" : use \"getLatitude\" and\n                    \"getLongitude\".\n                  - Instead of \"getTargetPosition\" : use \"getTargetLatitude\"\n                    and \"getTargetLongitude\".\n                  - Instead of \"getColor\" : use \"getColorR\", \"getColorG\",\n                    \"getColorB\", and (optionally) \"getColorA\", for red,\n                    green, blue and alpha.\n                  - Instead of \"getSourceColor\" : use the same as above.\n                  - Instead of \"getTargetColor\" : use \"getTargetColorR\", etc.\n\n        use_container_width : bool\n            If True, set the chart width to the column width. This takes\n            precedence over the figure's native `width` value.\n\n        **kwargs : any\n            Same as spec, but as keywords. Keys are \"unflattened\" at the\n            underscore characters. For example, foo_bar_baz=123 becomes\n            foo={'bar': {'bar': 123}}.\n\n        Example\n        -------\n        >>> st.deck_gl_chart(\n        ...     viewport={\n        ...         'latitude': 37.76,\n        ...         'longitude': -122.4,\n        ...         'zoom': 11,\n        ...         'pitch': 50,\n        ...     },\n        ...     layers=[{\n        ...         'type': 'HexagonLayer',\n        ...         'data': df,\n        ...         'radius': 200,\n        ...         'elevationScale': 4,\n        ...         'elevationRange': [0, 1000],\n        ...         'pickable': True,\n        ...         'extruded': True,\n        ...     }, {\n        ...         'type': 'ScatterplotLayer',\n        ...         'data': df,\n        ...     }])\n        ...\n\n        .. output::\n           https://share.streamlit.io/0.50.0-td2L/index.html?id=3GfRygWqxuqB5UitZLjz9i\n           height: 530px\n\n        \"\"\"\n\n        suppress_deprecation_warning = config.get_option(\n            \"global.suppressDeprecationWarnings\"\n        )\n        if not suppress_deprecation_warning:\n            import streamlit as st\n\n            st.warning(\n                \"\"\"\n                The `deck_gl_chart` widget is deprecated and will be removed on\n                2020-05-01. To render a map, you should use `st.pydeck_chart` widget.\n            \"\"\"\n            )\n\n        deck_gl_proto = DeckGlChartProto()\n        marshall(deck_gl_proto, spec, use_container_width, **kwargs)\n        return dg._enqueue(\"deck_gl_chart\", deck_gl_proto)  # type: ignore\n\n\ndef marshall(proto, spec=None, use_container_width=False, **kwargs):\n    \"\"\"Marshall a proto with DeckGL chart info.\n\n    See DeltaGenerator.deck_gl_chart for docs.\n    \"\"\"\n    data = []  # type: List[Any]\n\n    if spec is None:\n        spec = dict()\n\n    # Merge spec with unflattened kwargs, where kwargs take precedence.\n    # This only works for string keys, but kwarg keys are strings anyways.\n    spec = dict(spec, **dicttools.unflatten(kwargs))\n\n    if \"layers\" not in spec:\n        spec[\"layers\"] = []\n\n        # Syntax sugar: if no layers defined and data is passed at the top\n        # level, create a scatterplot layer with the top-level data by default.\n        if data is not None:\n            spec[\"layers\"].append({\"data\": data, \"type\": \"ScatterplotLayer\"})\n\n    for layer in spec[\"layers\"]:\n        # Don't add layers that have no data.\n        if \"data\" not in layer:\n            continue\n\n        # Remove DataFrame because it's not JSON-serializable\n        data = layer.pop(\"data\")\n\n        layer_proto = proto.layers.add()\n        fixed_layer = case_converters.convert_dict_keys(\n            case_converters.to_lower_camel_case, layer\n        )\n        layer_proto.spec = json.dumps(fixed_layer)\n        # TODO: If several layers use the same data frame, the data gets resent\n        # for each layer. Need to improve this.\n        data_frame_proto.marshall_data_frame(data, layer_proto.data)\n\n    del spec[\"layers\"]\n\n    # Dump JSON after removing DataFrames (see loop above), because DataFrames\n    # are not JSON-serializable.\n    proto.spec = json.dumps(spec)\n    proto.use_container_width = use_container_width\n", "path": "lib/streamlit/elements/deck_gl.py"}], "after_files": [{"content": "# Copyright 2018-2020 Streamlit Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# 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\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"A Python wrapper around DeckGl.\"\"\"\n\nimport json\nfrom typing import Any, List\n\nfrom streamlit import case_converters\nfrom streamlit import config\nfrom streamlit.proto.DeckGlChart_pb2 import DeckGlChart as DeckGlChartProto\nimport streamlit.elements.lib.dicttools as dicttools\nimport streamlit.elements.data_frame_proto as data_frame_proto\n\nfrom streamlit.logger import get_logger\n\nLOGGER = get_logger(__name__)\n\n\nclass DeckGlMixin:\n    def deck_gl_chart(dg, spec=None, use_container_width=False, **kwargs):\n        \"\"\"\n        .. deprecated:: 0.53.0\n            Use :func:`streamlit.pydeck_chart` instead.\n\n        Draw a map chart using the Deck.GL library.\n\n        This API closely follows Deck.GL's JavaScript API\n        (https://deck.gl/#/documentation), with a few small adaptations and\n        some syntax sugar.\n\n        When using this command, we advise all users to use a personal Mapbox\n        token. This ensures the map tiles used in this chart are more\n        robust. You can do this with the mapbox.token config option.\n\n        To get a token for yourself, create an account at\n        https://mapbox.com. It's free! (for moderate usage levels) See\n        https://docs.streamlit.io/en/latest/cli.html#view-all-config-options for more\n        info on how to set config options.\n\n        Parameters\n        ----------\n\n        spec : dict\n            Keys in this dict can be:\n\n            - Anything accepted by Deck.GL's top level element, such as\n              \"viewport\", \"height\", \"width\".\n\n            - \"layers\": a list of dicts containing information to build a new\n              Deck.GL layer in the map. Each layer accepts the following keys:\n\n                - \"data\" : DataFrame\n                  The data for the current layer.\n\n                - \"type\" : str\n                  One of the Deck.GL layer types that are currently supported\n                  by Streamlit: ArcLayer, GridLayer, HexagonLayer, LineLayer,\n                  PointCloudLayer, ScatterplotLayer, ScreenGridLayer,\n                  TextLayer.\n\n                - Plus anything accepted by that layer type. The exact keys that\n                  are accepted depend on the \"type\" field, above. For example, for\n                  ScatterplotLayer you can set fields like \"opacity\", \"filled\",\n                  \"stroked\", and so on.\n\n                  In addition, Deck.GL\"s documentation for ScatterplotLayer\n                  shows you can use a \"getRadius\" field to individually set\n                  the radius of each circle in the plot. So here you would\n                  set \"getRadius\": \"my_column\" where \"my_column\" is the name\n                  of the column containing the radius data.\n\n                  For things like \"getPosition\", which expect an array rather\n                  than a scalar value, we provide alternates that make the\n                  API simpler to use with dataframes:\n\n                  - Instead of \"getPosition\" : use \"getLatitude\" and\n                    \"getLongitude\".\n                  - Instead of \"getSourcePosition\" : use \"getLatitude\" and\n                    \"getLongitude\".\n                  - Instead of \"getTargetPosition\" : use \"getTargetLatitude\"\n                    and \"getTargetLongitude\".\n                  - Instead of \"getColor\" : use \"getColorR\", \"getColorG\",\n                    \"getColorB\", and (optionally) \"getColorA\", for red,\n                    green, blue and alpha.\n                  - Instead of \"getSourceColor\" : use the same as above.\n                  - Instead of \"getTargetColor\" : use \"getTargetColorR\", etc.\n\n        use_container_width : bool\n            If True, set the chart width to the column width. This takes\n            precedence over the figure's native `width` value.\n\n        **kwargs : any\n            Same as spec, but as keywords. Keys are \"unflattened\" at the\n            underscore characters. For example, foo_bar_baz=123 becomes\n            foo={'bar': {'bar': 123}}.\n\n        Example\n        -------\n        >>> st.deck_gl_chart(\n        ...     viewport={\n        ...         'latitude': 37.76,\n        ...         'longitude': -122.4,\n        ...         'zoom': 11,\n        ...         'pitch': 50,\n        ...     },\n        ...     layers=[{\n        ...         'type': 'HexagonLayer',\n        ...         'data': df,\n        ...         'radius': 200,\n        ...         'elevationScale': 4,\n        ...         'elevationRange': [0, 1000],\n        ...         'pickable': True,\n        ...         'extruded': True,\n        ...     }, {\n        ...         'type': 'ScatterplotLayer',\n        ...         'data': df,\n        ...     }])\n        ...\n\n        .. output::\n           https://share.streamlit.io/0.50.0-td2L/index.html?id=3GfRygWqxuqB5UitZLjz9i\n           height: 530px\n\n        \"\"\"\n\n        suppress_deprecation_warning = config.get_option(\n            \"global.suppressDeprecationWarnings\"\n        )\n        if not suppress_deprecation_warning:\n            import streamlit as st\n\n            st.warning(\n                \"\"\"\n                The `deck_gl_chart` widget is deprecated and will be removed on\n                2020-05-01. To render a map, you should use `st.pydeck_chart` widget.\n            \"\"\"\n            )\n\n        deck_gl_proto = DeckGlChartProto()\n        marshall(deck_gl_proto, spec, use_container_width, **kwargs)\n        return dg._enqueue(\"deck_gl_chart\", deck_gl_proto)  # type: ignore\n\n\ndef marshall(proto, spec=None, use_container_width=False, **kwargs):\n    \"\"\"Marshall a proto with DeckGL chart info.\n\n    See DeltaGenerator.deck_gl_chart for docs.\n    \"\"\"\n    data = []  # type: List[Any]\n\n    if spec is None:\n        spec = dict()\n\n    # Merge spec with unflattened kwargs, where kwargs take precedence.\n    # This only works for string keys, but kwarg keys are strings anyways.\n    spec = dict(spec, **dicttools.unflatten(kwargs))\n\n    if \"layers\" not in spec:\n        spec[\"layers\"] = []\n\n        # Syntax sugar: if no layers defined and data is passed at the top\n        # level, create a scatterplot layer with the top-level data by default.\n        if data is not None:\n            spec[\"layers\"].append({\"data\": data, \"type\": \"ScatterplotLayer\"})\n\n    for layer in spec[\"layers\"]:\n        # Don't add layers that have no data.\n        if \"data\" not in layer:\n            continue\n\n        # Remove DataFrame because it's not JSON-serializable\n        data = layer.pop(\"data\")\n\n        layer_proto = proto.layers.add()\n        fixed_layer = case_converters.convert_dict_keys(\n            case_converters.to_lower_camel_case, layer\n        )\n        layer_proto.spec = json.dumps(fixed_layer)\n        # TODO: If several layers use the same data frame, the data gets resent\n        # for each layer. Need to improve this.\n        data_frame_proto.marshall_data_frame(data, layer_proto.data)\n\n    del spec[\"layers\"]\n\n    # Dump JSON after removing DataFrames (see loop above), because DataFrames\n    # are not JSON-serializable.\n    proto.spec = json.dumps(spec)\n    proto.use_container_width = use_container_width\n", "path": "lib/streamlit/elements/deck_gl.py"}]}