solara 1.30.0__py2.py3-none-any.whl → 1.31.0__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. {solara-1.30.0.dist-info → solara-1.31.0.dist-info}/METADATA +7 -42
  2. solara-1.31.0.dist-info/RECORD +5 -0
  3. {solara-1.30.0.dist-info → solara-1.31.0.dist-info}/WHEEL +1 -1
  4. {solara/template/portal → solara-1.31.0.dist-info/licenses}/LICENSE +1 -1
  5. solara/__init__.py +0 -123
  6. solara/__main__.py +0 -734
  7. solara/alias.py +0 -6
  8. solara/autorouting.py +0 -554
  9. solara/cache.py +0 -294
  10. solara/checks.html +0 -71
  11. solara/checks.py +0 -224
  12. solara/comm.py +0 -28
  13. solara/components/__init__.py +0 -59
  14. solara/components/alert.py +0 -155
  15. solara/components/applayout.py +0 -393
  16. solara/components/button.py +0 -85
  17. solara/components/card.py +0 -87
  18. solara/components/checkbox.py +0 -50
  19. solara/components/code_highlight_css.py +0 -11
  20. solara/components/code_highlight_css.vue +0 -63
  21. solara/components/columns.py +0 -159
  22. solara/components/component_vue.py +0 -109
  23. solara/components/cross_filter.py +0 -335
  24. solara/components/dataframe.py +0 -546
  25. solara/components/datatable.py +0 -221
  26. solara/components/datatable.vue +0 -175
  27. solara/components/details.py +0 -21
  28. solara/components/download.vue +0 -35
  29. solara/components/echarts.py +0 -75
  30. solara/components/echarts.vue +0 -128
  31. solara/components/figure_altair.py +0 -39
  32. solara/components/file_browser.py +0 -182
  33. solara/components/file_download.py +0 -199
  34. solara/components/file_drop.py +0 -139
  35. solara/components/file_drop.vue +0 -83
  36. solara/components/file_list_widget.vue +0 -78
  37. solara/components/head.py +0 -27
  38. solara/components/head_tag.py +0 -49
  39. solara/components/head_tag.vue +0 -60
  40. solara/components/image.py +0 -173
  41. solara/components/input.py +0 -440
  42. solara/components/link.py +0 -55
  43. solara/components/markdown.py +0 -371
  44. solara/components/markdown_editor.py +0 -25
  45. solara/components/markdown_editor.vue +0 -362
  46. solara/components/matplotlib.py +0 -74
  47. solara/components/meta.py +0 -47
  48. solara/components/misc.py +0 -333
  49. solara/components/pivot_table.py +0 -258
  50. solara/components/pivot_table.vue +0 -158
  51. solara/components/progress.py +0 -47
  52. solara/components/select.py +0 -186
  53. solara/components/select.vue +0 -27
  54. solara/components/slider.py +0 -442
  55. solara/components/slider_date.vue +0 -56
  56. solara/components/spinner-solara.vue +0 -105
  57. solara/components/spinner.py +0 -30
  58. solara/components/sql_code.py +0 -33
  59. solara/components/sql_code.vue +0 -128
  60. solara/components/style.py +0 -105
  61. solara/components/switch.py +0 -68
  62. solara/components/tab_navigation.py +0 -37
  63. solara/components/title.py +0 -90
  64. solara/components/title.vue +0 -38
  65. solara/components/togglebuttons.py +0 -202
  66. solara/components/tooltip.py +0 -61
  67. solara/datatypes.py +0 -143
  68. solara/express.py +0 -241
  69. solara/hooks/__init__.py +0 -4
  70. solara/hooks/dataframe.py +0 -99
  71. solara/hooks/misc.py +0 -263
  72. solara/hooks/use_reactive.py +0 -129
  73. solara/hooks/use_thread.py +0 -129
  74. solara/kitchensink.py +0 -8
  75. solara/lab/__init__.py +0 -34
  76. solara/lab/components/__init__.py +0 -6
  77. solara/lab/components/chat.py +0 -203
  78. solara/lab/components/confirmation_dialog.py +0 -165
  79. solara/lab/components/cross_filter.py +0 -7
  80. solara/lab/components/input_date.py +0 -298
  81. solara/lab/components/menu.py +0 -181
  82. solara/lab/components/menu.vue +0 -38
  83. solara/lab/components/tabs.py +0 -274
  84. solara/lab/components/theming.py +0 -98
  85. solara/lab/components/theming.vue +0 -72
  86. solara/lab/hooks/__init__.py +0 -0
  87. solara/lab/hooks/dataframe.py +0 -12
  88. solara/lab/toestand.py +0 -3
  89. solara/lab/utils/__init__.py +0 -2
  90. solara/lab/utils/cookies.py +0 -5
  91. solara/lab/utils/dataframe.py +0 -115
  92. solara/lab/utils/headers.py +0 -5
  93. solara/layout.py +0 -44
  94. solara/minisettings.py +0 -133
  95. solara/py.typed +0 -0
  96. solara/reactive.py +0 -93
  97. solara/routing.py +0 -268
  98. solara/scope/__init__.py +0 -87
  99. solara/scope/types.py +0 -55
  100. solara/server/__init__.py +0 -0
  101. solara/server/app.py +0 -490
  102. solara/server/assets/custom.css +0 -1
  103. solara/server/assets/custom.js +0 -1
  104. solara/server/assets/favicon.png +0 -0
  105. solara/server/assets/favicon.svg +0 -5
  106. solara/server/assets/style.css +0 -1665
  107. solara/server/assets/theme-dark.css +0 -437
  108. solara/server/assets/theme-light.css +0 -420
  109. solara/server/assets/theme.js +0 -3
  110. solara/server/cdn_helper.py +0 -77
  111. solara/server/esm.py +0 -69
  112. solara/server/fastapi.py +0 -5
  113. solara/server/flask.py +0 -286
  114. solara/server/jupyter/__init__.py +0 -2
  115. solara/server/jupyter/cdn_handler.py +0 -28
  116. solara/server/jupyter/server_extension.py +0 -29
  117. solara/server/jupytertools.py +0 -46
  118. solara/server/kernel.py +0 -319
  119. solara/server/kernel_context.py +0 -393
  120. solara/server/patch.py +0 -552
  121. solara/server/reload.py +0 -242
  122. solara/server/server.py +0 -437
  123. solara/server/settings.py +0 -212
  124. solara/server/shell.py +0 -240
  125. solara/server/starlette.py +0 -597
  126. solara/server/static/ansi.js +0 -270
  127. solara/server/static/highlight-dark.css +0 -82
  128. solara/server/static/highlight.css +0 -43
  129. solara/server/static/main-vuetify.js +0 -260
  130. solara/server/static/main.js +0 -163
  131. solara/server/static/solara_bootstrap.py +0 -129
  132. solara/server/static/sun.svg +0 -23
  133. solara/server/static/webworker.js +0 -42
  134. solara/server/telemetry.py +0 -212
  135. solara/server/templates/index.html.j2 +0 -1
  136. solara/server/templates/loader-plain.css +0 -11
  137. solara/server/templates/loader-plain.html +0 -20
  138. solara/server/templates/loader-solara.css +0 -111
  139. solara/server/templates/loader-solara.html +0 -40
  140. solara/server/templates/plain.html +0 -82
  141. solara/server/templates/solara.html.j2 +0 -446
  142. solara/server/threaded.py +0 -75
  143. solara/server/utils.py +0 -30
  144. solara/server/websocket.py +0 -44
  145. solara/settings.py +0 -56
  146. solara/tasks.py +0 -847
  147. solara/template/button.py +0 -16
  148. solara/template/markdown.py +0 -42
  149. solara/template/portal/.flake8 +0 -6
  150. solara/template/portal/.pre-commit-config.yaml +0 -28
  151. solara/template/portal/Procfile +0 -7
  152. solara/template/portal/mypy.ini +0 -3
  153. solara/template/portal/pyproject.toml +0 -26
  154. solara/template/portal/solara_portal/__init__.py +0 -3
  155. solara/template/portal/solara_portal/components/__init__.py +0 -2
  156. solara/template/portal/solara_portal/components/article.py +0 -28
  157. solara/template/portal/solara_portal/components/data.py +0 -28
  158. solara/template/portal/solara_portal/components/header.py +0 -6
  159. solara/template/portal/solara_portal/components/layout.py +0 -6
  160. solara/template/portal/solara_portal/content/articles/equis-in-vidi.md +0 -85
  161. solara/template/portal/solara_portal/content/articles/substiterat-vati.md +0 -70
  162. solara/template/portal/solara_portal/data.py +0 -60
  163. solara/template/portal/solara_portal/pages/__init__.py +0 -67
  164. solara/template/portal/solara_portal/pages/article/__init__.py +0 -26
  165. solara/template/portal/solara_portal/pages/tabular.py +0 -29
  166. solara/template/portal/solara_portal/pages/viz/__init__.py +0 -69
  167. solara/template/portal/solara_portal/pages/viz/overview.py +0 -14
  168. solara/test/__init__.py +0 -0
  169. solara/test/pytest_plugin.py +0 -698
  170. solara/toestand.py +0 -772
  171. solara/util.py +0 -308
  172. solara/website/__init__.py +0 -0
  173. solara/website/assets/custom.css +0 -462
  174. solara/website/assets/images/logo-small.png +0 -0
  175. solara/website/assets/images/logo.svg +0 -17
  176. solara/website/assets/images/logo_white.svg +0 -50
  177. solara/website/assets/theme.js +0 -8
  178. solara/website/components/__init__.py +0 -5
  179. solara/website/components/algolia.vue +0 -24
  180. solara/website/components/algolia_api.vue +0 -157
  181. solara/website/components/docs.py +0 -118
  182. solara/website/components/header.py +0 -72
  183. solara/website/components/hero.py +0 -15
  184. solara/website/components/mailchimp.py +0 -12
  185. solara/website/components/mailchimp.vue +0 -47
  186. solara/website/components/notebook.py +0 -172
  187. solara/website/pages/__init__.py +0 -564
  188. solara/website/pages/apps/__init__.py +0 -16
  189. solara/website/pages/apps/authorization/__init__.py +0 -118
  190. solara/website/pages/apps/authorization/admin.py +0 -12
  191. solara/website/pages/apps/authorization/users.py +0 -12
  192. solara/website/pages/apps/jupyter-dashboard-1.py +0 -116
  193. solara/website/pages/apps/layout-demo.py +0 -40
  194. solara/website/pages/apps/multipage/__init__.py +0 -38
  195. solara/website/pages/apps/multipage/page1.py +0 -26
  196. solara/website/pages/apps/multipage/page2.py +0 -34
  197. solara/website/pages/apps/scatter.py +0 -136
  198. solara/website/pages/apps/scrolling.py +0 -63
  199. solara/website/pages/apps/tutorial-streamlit.py +0 -18
  200. solara/website/pages/changelog/__init__.py +0 -8
  201. solara/website/pages/changelog/changelog.md +0 -180
  202. solara/website/pages/contact/__init__.py +0 -8
  203. solara/website/pages/contact/contact.md +0 -17
  204. solara/website/pages/doc_use_download.py +0 -85
  205. solara/website/pages/documentation/__init__.py +0 -184
  206. solara/website/pages/documentation/advanced/__init__.py +0 -36
  207. solara/website/pages/documentation/advanced/content/00-overview.md +0 -1
  208. solara/website/pages/documentation/advanced/content/10-howto/00-overview.md +0 -1
  209. solara/website/pages/documentation/advanced/content/10-howto/10-multipage.md +0 -191
  210. solara/website/pages/documentation/advanced/content/10-howto/20-layout.md +0 -120
  211. solara/website/pages/documentation/advanced/content/10-howto/30-testing.md +0 -149
  212. solara/website/pages/documentation/advanced/content/10-howto/31-debugging.md +0 -66
  213. solara/website/pages/documentation/advanced/content/10-howto/40-embed.md +0 -43
  214. solara/website/pages/documentation/advanced/content/10-howto/50-ipywidget_libraries.md +0 -120
  215. solara/website/pages/documentation/advanced/content/20-understanding/00-introduction.md +0 -4
  216. solara/website/pages/documentation/advanced/content/20-understanding/05-ipywidgets.md +0 -30
  217. solara/website/pages/documentation/advanced/content/20-understanding/06-ipyvuetify.md +0 -38
  218. solara/website/pages/documentation/advanced/content/20-understanding/10-reacton.md +0 -24
  219. solara/website/pages/documentation/advanced/content/20-understanding/12-reacton-basics.md +0 -104
  220. solara/website/pages/documentation/advanced/content/20-understanding/15-anatomy.md +0 -19
  221. solara/website/pages/documentation/advanced/content/20-understanding/17-rules-of-hooks.md +0 -3
  222. solara/website/pages/documentation/advanced/content/20-understanding/18-containers.md +0 -160
  223. solara/website/pages/documentation/advanced/content/20-understanding/20-solara.md +0 -13
  224. solara/website/pages/documentation/advanced/content/20-understanding/40-routing.md +0 -236
  225. solara/website/pages/documentation/advanced/content/20-understanding/50-solara-server.md +0 -81
  226. solara/website/pages/documentation/advanced/content/20-understanding/60-voila.md +0 -7
  227. solara/website/pages/documentation/advanced/content/30-enterprise/00-overview.md +0 -1
  228. solara/website/pages/documentation/advanced/content/30-enterprise/10-oauth.md +0 -167
  229. solara/website/pages/documentation/advanced/content/40-development/00-overview.md +0 -0
  230. solara/website/pages/documentation/advanced/content/40-development/01-contribute.md +0 -41
  231. solara/website/pages/documentation/advanced/content/40-development/10-setup.md +0 -72
  232. solara/website/pages/documentation/advanced/content/__init__.py +0 -0
  233. solara/website/pages/documentation/api/__init__.py +0 -19
  234. solara/website/pages/documentation/api/cross_filter/__init__.py +0 -9
  235. solara/website/pages/documentation/api/cross_filter/cross_filter_dataframe.py +0 -23
  236. solara/website/pages/documentation/api/cross_filter/cross_filter_report.py +0 -22
  237. solara/website/pages/documentation/api/cross_filter/cross_filter_select.py +0 -22
  238. solara/website/pages/documentation/api/cross_filter/cross_filter_slider.py +0 -22
  239. solara/website/pages/documentation/api/hooks/__init__.py +0 -9
  240. solara/website/pages/documentation/api/hooks/use_cross_filter.py +0 -25
  241. solara/website/pages/documentation/api/hooks/use_dark_effective.py +0 -13
  242. solara/website/pages/documentation/api/hooks/use_effect.md +0 -43
  243. solara/website/pages/documentation/api/hooks/use_effect.py +0 -9
  244. solara/website/pages/documentation/api/hooks/use_exception.py +0 -33
  245. solara/website/pages/documentation/api/hooks/use_memo.md +0 -16
  246. solara/website/pages/documentation/api/hooks/use_memo.py +0 -9
  247. solara/website/pages/documentation/api/hooks/use_previous.py +0 -32
  248. solara/website/pages/documentation/api/hooks/use_reactive.py +0 -15
  249. solara/website/pages/documentation/api/hooks/use_state.py +0 -11
  250. solara/website/pages/documentation/api/hooks/use_state_or_update.py +0 -68
  251. solara/website/pages/documentation/api/hooks/use_thread.md +0 -58
  252. solara/website/pages/documentation/api/hooks/use_thread.py +0 -44
  253. solara/website/pages/documentation/api/hooks/use_trait_observe.py +0 -13
  254. solara/website/pages/documentation/api/routing/__init__.py +0 -9
  255. solara/website/pages/documentation/api/routing/generate_routes.py +0 -11
  256. solara/website/pages/documentation/api/routing/generate_routes_directory.py +0 -11
  257. solara/website/pages/documentation/api/routing/resolve_path.py +0 -36
  258. solara/website/pages/documentation/api/routing/route.py +0 -32
  259. solara/website/pages/documentation/api/routing/use_route.py +0 -80
  260. solara/website/pages/documentation/api/routing/use_router.py +0 -15
  261. solara/website/pages/documentation/api/utilities/__init__.py +0 -9
  262. solara/website/pages/documentation/api/utilities/component_vue.py +0 -11
  263. solara/website/pages/documentation/api/utilities/computed.py +0 -16
  264. solara/website/pages/documentation/api/utilities/display.py +0 -15
  265. solara/website/pages/documentation/api/utilities/get_kernel_id.py +0 -16
  266. solara/website/pages/documentation/api/utilities/get_session_id.py +0 -16
  267. solara/website/pages/documentation/api/utilities/memoize.py +0 -36
  268. solara/website/pages/documentation/api/utilities/on_kernel_start.py +0 -27
  269. solara/website/pages/documentation/api/utilities/reactive.py +0 -15
  270. solara/website/pages/documentation/api/utilities/widget.py +0 -104
  271. solara/website/pages/documentation/components/__init__.py +0 -12
  272. solara/website/pages/documentation/components/advanced/__init__.py +0 -9
  273. solara/website/pages/documentation/components/advanced/link.py +0 -28
  274. solara/website/pages/documentation/components/advanced/meta.py +0 -21
  275. solara/website/pages/documentation/components/advanced/style.py +0 -44
  276. solara/website/pages/documentation/components/common.py +0 -9
  277. solara/website/pages/documentation/components/data/__init__.py +0 -9
  278. solara/website/pages/documentation/components/data/dataframe.py +0 -44
  279. solara/website/pages/documentation/components/data/pivot_table.py +0 -81
  280. solara/website/pages/documentation/components/enterprise/__init__.py +0 -9
  281. solara/website/pages/documentation/components/enterprise/avatar.py +0 -19
  282. solara/website/pages/documentation/components/enterprise/avatar_menu.py +0 -20
  283. solara/website/pages/documentation/components/input/__init__.py +0 -9
  284. solara/website/pages/documentation/components/input/button.py +0 -22
  285. solara/website/pages/documentation/components/input/checkbox.py +0 -12
  286. solara/website/pages/documentation/components/input/file_browser.py +0 -33
  287. solara/website/pages/documentation/components/input/file_drop.py +0 -75
  288. solara/website/pages/documentation/components/input/input.py +0 -18
  289. solara/website/pages/documentation/components/input/select.py +0 -21
  290. solara/website/pages/documentation/components/input/slider.py +0 -28
  291. solara/website/pages/documentation/components/input/switch.py +0 -12
  292. solara/website/pages/documentation/components/input/togglebuttons.py +0 -20
  293. solara/website/pages/documentation/components/lab/__init__.py +0 -9
  294. solara/website/pages/documentation/components/lab/chat.py +0 -108
  295. solara/website/pages/documentation/components/lab/confirmation_dialog.py +0 -55
  296. solara/website/pages/documentation/components/lab/cookies_headers.py +0 -48
  297. solara/website/pages/documentation/components/lab/input_date.py +0 -19
  298. solara/website/pages/documentation/components/lab/menu.py +0 -21
  299. solara/website/pages/documentation/components/lab/tab.py +0 -24
  300. solara/website/pages/documentation/components/lab/tabs.py +0 -44
  301. solara/website/pages/documentation/components/lab/task.py +0 -12
  302. solara/website/pages/documentation/components/lab/theming.py +0 -72
  303. solara/website/pages/documentation/components/lab/use_task.py +0 -12
  304. solara/website/pages/documentation/components/layout/__init__.py +0 -9
  305. solara/website/pages/documentation/components/layout/app_bar.py +0 -15
  306. solara/website/pages/documentation/components/layout/app_bar_title.py +0 -15
  307. solara/website/pages/documentation/components/layout/app_layout.py +0 -23
  308. solara/website/pages/documentation/components/layout/card.py +0 -14
  309. solara/website/pages/documentation/components/layout/card_actions.py +0 -15
  310. solara/website/pages/documentation/components/layout/column.py +0 -29
  311. solara/website/pages/documentation/components/layout/columns.py +0 -26
  312. solara/website/pages/documentation/components/layout/columns_responsive.py +0 -67
  313. solara/website/pages/documentation/components/layout/griddraggable.py +0 -61
  314. solara/website/pages/documentation/components/layout/gridfixed.py +0 -21
  315. solara/website/pages/documentation/components/layout/hbox.py +0 -17
  316. solara/website/pages/documentation/components/layout/row.py +0 -29
  317. solara/website/pages/documentation/components/layout/sidebar.py +0 -23
  318. solara/website/pages/documentation/components/layout/vbox.py +0 -19
  319. solara/website/pages/documentation/components/output/__init__.py +0 -9
  320. solara/website/pages/documentation/components/output/file_download.py +0 -12
  321. solara/website/pages/documentation/components/output/html.py +0 -22
  322. solara/website/pages/documentation/components/output/image.py +0 -12
  323. solara/website/pages/documentation/components/output/markdown.py +0 -59
  324. solara/website/pages/documentation/components/output/markdown_editor.py +0 -53
  325. solara/website/pages/documentation/components/output/sql_code.py +0 -84
  326. solara/website/pages/documentation/components/output/tooltip.py +0 -12
  327. solara/website/pages/documentation/components/page/__init__.py +0 -9
  328. solara/website/pages/documentation/components/page/head.py +0 -19
  329. solara/website/pages/documentation/components/page/title.py +0 -28
  330. solara/website/pages/documentation/components/status/__init__.py +0 -9
  331. solara/website/pages/documentation/components/status/error.py +0 -40
  332. solara/website/pages/documentation/components/status/info.py +0 -40
  333. solara/website/pages/documentation/components/status/progress.py +0 -10
  334. solara/website/pages/documentation/components/status/spinner.py +0 -10
  335. solara/website/pages/documentation/components/status/success.py +0 -40
  336. solara/website/pages/documentation/components/status/warning.py +0 -47
  337. solara/website/pages/documentation/components/viz/__init__.py +0 -9
  338. solara/website/pages/documentation/components/viz/altair.py +0 -44
  339. solara/website/pages/documentation/components/viz/echarts.py +0 -78
  340. solara/website/pages/documentation/components/viz/matplotlib.py +0 -32
  341. solara/website/pages/documentation/components/viz/plotly.py +0 -63
  342. solara/website/pages/documentation/components/viz/plotly_express.py +0 -41
  343. solara/website/pages/documentation/examples/__init__.py +0 -52
  344. solara/website/pages/documentation/examples/ai/__init__.py +0 -10
  345. solara/website/pages/documentation/examples/ai/chatbot.py +0 -96
  346. solara/website/pages/documentation/examples/ai/tokenizer.py +0 -106
  347. solara/website/pages/documentation/examples/basics/__init__.py +0 -2
  348. solara/website/pages/documentation/examples/basics/sine.py +0 -28
  349. solara/website/pages/documentation/examples/fullscreen/__init__.py +0 -9
  350. solara/website/pages/documentation/examples/fullscreen/authorization.py +0 -3
  351. solara/website/pages/documentation/examples/fullscreen/layout_demo.py +0 -3
  352. solara/website/pages/documentation/examples/fullscreen/multipage.py +0 -3
  353. solara/website/pages/documentation/examples/fullscreen/scatter.py +0 -3
  354. solara/website/pages/documentation/examples/fullscreen/scrolling.py +0 -3
  355. solara/website/pages/documentation/examples/fullscreen/tutorial_streamlit.py +0 -3
  356. solara/website/pages/documentation/examples/general/__init__.py +0 -9
  357. solara/website/pages/documentation/examples/general/custom_storage.py +0 -69
  358. solara/website/pages/documentation/examples/general/deploy_model.py +0 -114
  359. solara/website/pages/documentation/examples/general/live_update.py +0 -38
  360. solara/website/pages/documentation/examples/general/login_oauth.py +0 -76
  361. solara/website/pages/documentation/examples/general/mycard.vue +0 -58
  362. solara/website/pages/documentation/examples/general/pokemon_search.py +0 -51
  363. solara/website/pages/documentation/examples/general/vue_component.py +0 -50
  364. solara/website/pages/documentation/examples/ipycanvas.py +0 -49
  365. solara/website/pages/documentation/examples/libraries/__init__.py +0 -9
  366. solara/website/pages/documentation/examples/libraries/altair.py +0 -63
  367. solara/website/pages/documentation/examples/libraries/bqplot.py +0 -39
  368. solara/website/pages/documentation/examples/libraries/ipyleaflet.py +0 -32
  369. solara/website/pages/documentation/examples/libraries/ipyleaflet_advanced.py +0 -65
  370. solara/website/pages/documentation/examples/utilities/__init__.py +0 -9
  371. solara/website/pages/documentation/examples/utilities/calculator.py +0 -157
  372. solara/website/pages/documentation/examples/utilities/countdown_timer.py +0 -64
  373. solara/website/pages/documentation/examples/utilities/todo.py +0 -195
  374. solara/website/pages/documentation/examples/visualization/__init__.py +0 -6
  375. solara/website/pages/documentation/examples/visualization/annotator.py +0 -68
  376. solara/website/pages/documentation/examples/visualization/linked_views.py +0 -84
  377. solara/website/pages/documentation/examples/visualization/plotly.py +0 -43
  378. solara/website/pages/documentation/faq/__init__.py +0 -11
  379. solara/website/pages/documentation/faq/content/99-faq.md +0 -73
  380. solara/website/pages/documentation/getting_started/__init__.py +0 -15
  381. solara/website/pages/documentation/getting_started/content/00-quickstart.md +0 -84
  382. solara/website/pages/documentation/getting_started/content/01-introduction.md +0 -121
  383. solara/website/pages/documentation/getting_started/content/02-installing.md +0 -81
  384. solara/website/pages/documentation/getting_started/content/04-tutorials/00-overview.md +0 -9
  385. solara/website/pages/documentation/getting_started/content/04-tutorials/10_data_science.py +0 -13
  386. solara/website/pages/documentation/getting_started/content/04-tutorials/20-web-app.md +0 -84
  387. solara/website/pages/documentation/getting_started/content/04-tutorials/30-ipywidgets.md +0 -120
  388. solara/website/pages/documentation/getting_started/content/04-tutorials/40-streamlit.md +0 -141
  389. solara/website/pages/documentation/getting_started/content/04-tutorials/50-dash.md +0 -140
  390. solara/website/pages/documentation/getting_started/content/04-tutorials/60-jupyter-dashboard-part1.py +0 -64
  391. solara/website/pages/documentation/getting_started/content/04-tutorials/SF_crime_sample.csv.gz +0 -0
  392. solara/website/pages/documentation/getting_started/content/04-tutorials/_data_science.ipynb +0 -445
  393. solara/website/pages/documentation/getting_started/content/04-tutorials/_jupyter_dashboard_1.ipynb +0 -1000
  394. solara/website/pages/documentation/getting_started/content/05-fundamentals/00-overview.md +0 -7
  395. solara/website/pages/documentation/getting_started/content/05-fundamentals/10-components.md +0 -218
  396. solara/website/pages/documentation/getting_started/content/05-fundamentals/50-state-management.md +0 -83
  397. solara/website/pages/documentation/getting_started/content/06-reference/00-overview.md +0 -3
  398. solara/website/pages/documentation/getting_started/content/06-reference/40-static_files.md +0 -27
  399. solara/website/pages/documentation/getting_started/content/06-reference/41-asset-files.md +0 -32
  400. solara/website/pages/documentation/getting_started/content/06-reference/60-static-site-generation.md +0 -55
  401. solara/website/pages/documentation/getting_started/content/06-reference/70-search.md +0 -30
  402. solara/website/pages/documentation/getting_started/content/06-reference/80-reloading.md +0 -30
  403. solara/website/pages/documentation/getting_started/content/06-reference/90-notebook-support.md +0 -4
  404. solara/website/pages/documentation/getting_started/content/06-reference/95-caching.md +0 -143
  405. solara/website/pages/documentation/getting_started/content/07-deploying/00-overview.md +0 -3
  406. solara/website/pages/documentation/getting_started/content/07-deploying/10-self-hosted.md +0 -269
  407. solara/website/pages/documentation/getting_started/content/07-deploying/20-cloud-hosted.md +0 -76
  408. solara/website/pages/documentation/getting_started/content/08-lab/00-what-is-lab.md +0 -3
  409. solara/website/pages/documentation/getting_started/content/90-troubleshoot.md +0 -22
  410. solara/website/pages/documentation/getting_started/content/__init__.py +0 -0
  411. solara/website/pages/docutils.py +0 -38
  412. solara/website/pages/showcase/__init__.py +0 -105
  413. solara/website/pages/showcase/domino_code_assist.py +0 -60
  414. solara/website/pages/showcase/planeto_tessa.py +0 -19
  415. solara/website/pages/showcase/solara_dev.py +0 -54
  416. solara/website/pages/showcase/solarathon_2023_team_2.py +0 -22
  417. solara/website/pages/showcase/solarathon_2023_team_4.py +0 -22
  418. solara/website/pages/showcase/solarathon_2023_team_5.py +0 -23
  419. solara/website/pages/showcase/solarathon_2023_team_6.py +0 -34
  420. solara/website/pages/showcase/wanderlust.py +0 -27
  421. solara/website/public/beach.jpeg +0 -0
  422. solara/website/public/logo.svg +0 -6
  423. solara/website/public/social/discord.svg +0 -1
  424. solara/website/public/social/github.svg +0 -1
  425. solara/website/public/social/twitter.svg +0 -3
  426. solara/website/public/success.html +0 -25
  427. solara/website/templates/index.html.j2 +0 -117
  428. solara/website/utils.py +0 -51
  429. solara/widgets/__init__.py +0 -1
  430. solara/widgets/vue/gridlayout.vue +0 -110
  431. solara/widgets/vue/html.vue +0 -4
  432. solara/widgets/vue/navigator.vue +0 -104
  433. solara/widgets/vue/vegalite.vue +0 -115
  434. solara/widgets/widgets.py +0 -65
  435. solara-1.30.0.data/data/etc/jupyter/jupyter_notebook_config.d/solara.json +0 -7
  436. solara-1.30.0.data/data/etc/jupyter/jupyter_server_config.d/solara.json +0 -7
  437. solara-1.30.0.dist-info/RECORD +0 -438
  438. solara-1.30.0.dist-info/entry_points.txt +0 -5
  439. /solara-1.30.0.dist-info/licenses/LICENSE → /LICENSE +0 -0
@@ -1,22 +0,0 @@
1
- import solara
2
-
3
-
4
- @solara.component
5
- def Page():
6
- with solara.Link("/showcase"):
7
- solara.Text("« Back to Showcases")
8
- with solara.ColumnsResponsive(12, medium=6):
9
- with solara.Column(align="end", style={"height": "100%", "justify-content": "center"}):
10
- solara.Markdown(
11
- """
12
- Team 2 built a travel assistant, which utilized various third party APIs to display rich information about the desired destination
13
- during the dates selected for a visit. The assistant also provided a list of recommended activities, and a map of the area.
14
-
15
- Take a look at the project on [Ploomber](https://jolly-moon-5966.ploomberapp.io/)
16
- """
17
- )
18
- with solara.v.Html(tag="video", attributes={"controls": "controls", "autoplay": "autoplay"}, style_="width:100%;"):
19
- solara.v.Html(
20
- tag="source",
21
- attributes={"src": "https://dxhl76zpt6fap.cloudfront.net/public/showcase/solarathon_2023_team_2/preview.webm", "type": "video/webm"},
22
- )
@@ -1,22 +0,0 @@
1
- import solara
2
-
3
-
4
- @solara.component
5
- def Page():
6
- with solara.Link("/showcase"):
7
- solara.Text("« Back to Showcases")
8
- with solara.ColumnsResponsive(12, medium=6):
9
- with solara.Column(align="end", style={"height": "100%", "justify-content": "center"}):
10
- solara.Markdown(
11
- """
12
- Team 4 built a live cryptocurrency dashboard, which displayed the latest prices for various cryptocurrencies, and versatile
13
- analysis tools to help users make informed decisions.
14
-
15
- Note: The dashboard is no longer live on Ploomber, but you can see a preview of it in the video, or run it by cloning the GitHub repository.
16
- """
17
- )
18
- with solara.v.Html(tag="video", attributes={"controls": "controls", "autoplay": "autoplay"}, style_="width:100%;"):
19
- solara.v.Html(
20
- tag="source",
21
- attributes={"src": "https://dxhl76zpt6fap.cloudfront.net/public/showcase/solarathon_2023_team_4/preview.webm", "type": "video/webm"},
22
- )
@@ -1,23 +0,0 @@
1
- import solara
2
-
3
-
4
- @solara.component
5
- def Page():
6
- with solara.Link("/showcase"):
7
- solara.Text("« Back to Showcases")
8
- with solara.ColumnsResponsive(12, medium=6):
9
- with solara.Column(align="end", style={"height": "100%", "justify-content": "center"}):
10
- solara.Markdown(
11
- """
12
- Team 5 built a tool for analyzing sports videos, which allows users to select or upload a video, and then analyse it using
13
- point tracking, and object recognition. Because of the nature of the project, adding further analysis tools is very easy.
14
-
15
- Note: The dashboard is no longer live on Ploomber, but you can see a preview of it in the video, or run it through
16
- [GitHub](https://github.com/FelipeCabelloE/solarathon-team5/), using CodeSpaces.
17
- """
18
- )
19
- with solara.v.Html(tag="video", attributes={"controls": "controls", "autoplay": "autoplay"}, style_="width:100%;"):
20
- solara.v.Html(
21
- tag="source",
22
- attributes={"src": "https://dxhl76zpt6fap.cloudfront.net/public/showcase/solarathon_2023_team_5/preview.webm", "type": "video/webm"},
23
- )
@@ -1,34 +0,0 @@
1
- import solara
2
-
3
-
4
- @solara.component
5
- def Page():
6
- with solara.Link("/showcase"):
7
- solara.Text("« Back to Showcases")
8
- with solara.ColumnsResponsive(12, medium=6):
9
- with solara.Column(align="end", style={"height": "100%", "justify-content": "center"}):
10
- solara.Markdown(
11
- """
12
- Team 6 built an automatic FAQ creator, including a Discord bot, which crawls a Discord server, and creates a FAQ page
13
- based on the most frequently asked questions in the server. The Data is then fed through [Haystack](https://haystack.deepset.ai/),
14
- which summarizes and categorizes the questions, and provides answers to be displayed on the FAQ page.
15
-
16
- Take a look at the [GitHub Repository](https://github.com/silvhua/solarathon-faq-creator) for instructions on how to run the project.
17
- """
18
- )
19
- with solara.v.Html(tag="video", attributes={"controls": "controls", "autoplay": "autoplay"}, style_="width:100%;"):
20
- solara.v.Html(
21
- tag="source",
22
- attributes={"src": "https://dxhl76zpt6fap.cloudfront.net/public/showcase/solarathon_2023_team_6/preview.webm", "type": "video/webm"},
23
- )
24
-
25
- solara.Markdown(
26
- """
27
- ## Project Team Members
28
- * [Simone Frisco](https://www.linkedin.com/in/simonefrisco/), Data Scientist
29
- * [Silvia Hua](https://www.linkedin.com/in/silviahua), Data Scientist
30
- * [Arunprasadh Senthil](https://www.linkedin.com/in/arun-prasadh-senthil/), Data Engineer
31
- * [Janet Mardjuki](https://www.linkedin.com/in/jmardjuki/), Software Developer
32
- * [Roman Gampert](https://www.linkedin.com/in/roman-gampert-5537b9126/), Product
33
- """
34
- )
@@ -1,27 +0,0 @@
1
- import solara
2
-
3
-
4
- @solara.component
5
- def Page():
6
- with solara.Link("/showcase"):
7
- solara.Text("« Back to Showcases")
8
- with solara.ColumnsResponsive(12, medium=6):
9
- with solara.Column(align="end", style={"height": "100%", "justify-content": "center"}):
10
- solara.Markdown(
11
- """
12
- [Wanderlust](https://huggingface.co/spaces/solara-dev/wanderlust) is a reproduction of the travel assistant demo shown at the
13
- [OpenAI DevDay](https://devday.openai.com/) 2023, built using Solara and the OpenAI Assistants API.
14
-
15
- The sourcecode of the demo is available on [github](https://github.com/widgetti/wanderlust)
16
- """
17
- )
18
- with solara.v.Html(tag="a", style_="width: 100%;", attributes={"href": "https://huggingface.co/spaces/solara-dev/wanderlust", "target": "_blank"}):
19
- solara.Image("https://dxhl76zpt6fap.cloudfront.net/public/showcase/wanderlust/thumbnail.png", width="100%")
20
- with solara.ColumnsResponsive(12, medium=6):
21
- with solara.v.Html(tag="a", style_="width: 100%;", attributes={"href": "https://huggingface.co/spaces/solara-dev/wanderlust", "target": "_blank"}):
22
- solara.Image("https://dxhl76zpt6fap.cloudfront.net/public/showcase/wanderlust/assistant.png", width="100%")
23
- with solara.Column(align="end", style={"height": "100%", "justify-content": "center"}):
24
- solara.Markdown(
25
- """Using the new [function calling feature](https://platform.openai.com/docs/guides/function-calling) of OpenAI Assistants, the
26
- assistant can annotate, move, and zoom the map to provide additional functionality"""
27
- )
Binary file
@@ -1,6 +0,0 @@
1
- <svg width="17.055mm" height="17.055mm" version="1.1" viewBox="0 0 17.055 17.055" xmlns="http://www.w3.org/2000/svg">
2
- <g transform="translate(-20.456 15.688)" stroke-width=".26458">
3
- <path d="m35.567-7.5814 1.1536-3.3787-3.3787-1.1536-1.5716-3.2041-3.2041 1.5743-3.3814-1.1562-1.1536 3.3787-3.2041 1.5743 1.5743 3.2041-1.1536 3.3787 3.3787 1.1536 1.5743 3.2067 3.2041-1.5743 3.3787 1.1536 1.1536-3.3787 3.2041-1.5743zm-0.75406 0.99219-5.2573 5.2573c-0.3175 0.3175-0.83079 0.3175-1.1483 0l-5.252-5.2546c-0.3175-0.3175-0.3175-0.83079 0-1.1456l5.2546-5.2573c0.3175-0.3175 0.83079-0.3175 1.1483 0l5.2573 5.2573c0.3175 0.3175 0.3175 0.83079 0 1.1456z" fill="#ffcf64"/>
4
- <path d="m34.643-10.55-0.52123-3.5322-3.5322 0.52123-2.8681-2.1272-2.1272 2.8681-3.5322 0.52388 0.52123 3.5322-2.1272 2.8654 2.8681 2.1272 0.52123 3.5322 3.5322-0.52123 2.8681 2.1273 2.1272-2.8681 3.5322-0.52388-0.52123-3.5322 2.1272-2.8681-2.8681-2.1299zm-0.21696 1.2277-2.2648 7.0802c-0.13758 0.42598-0.59267 0.66146-1.0186 0.52652l-7.0802-2.2648c-0.42598-0.13494-0.66146-0.59267-0.52652-1.0186l2.2675-7.0802c0.13494-0.42598 0.59267-0.66146 1.0186-0.52652l7.0802 2.2648c0.42598 0.13494 0.66146 0.59267 0.52652 1.0186z" fill="#ff8c3e"/>
5
- </g>
6
- </svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 127.14 96.36"><path fill="#fff" d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z"/></svg>
@@ -1 +0,0 @@
1
- <svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#fff"/></svg>
@@ -1,3 +0,0 @@
1
- <svg width="1200" height="1227" viewBox="0 0 1200 1227" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" fill="white"/>
3
- </svg>
@@ -1,25 +0,0 @@
1
- <html>
2
- <!-- Google Tag Manager -->
3
- <script>
4
- (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
5
- new Date().getTime(),event:'gtm.js'});
6
- var f=d.getElementsByTagName(s)[0], j=d.createElement(s), dl=l!='dataLayer'?'&l='+l:'';
7
- j.async=true;
8
- j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;
9
- f.parentNode.insertBefore(j,f);
10
- })(window,document,'script','dataLayer','GTM-KC98NKNL');
11
- </script>
12
- <!-- End Google Tag Manager -->
13
-
14
- <body>
15
- <!-- Google Tag Manager (noscript) -->
16
- <noscript>
17
- <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KC98NKNL"
18
- height="0" width="0" style="display:none;visibility:hidden"></iframe>
19
- </noscript>
20
- <!-- End Google Tag Manager (noscript) -->
21
-
22
- Used to detect failed Jupyter and Solara installations.
23
- </body>
24
-
25
- </html>
@@ -1,117 +0,0 @@
1
- {% extends "solara.html.j2" %}
2
- {% block header %}
3
- {% if production %}
4
- <link rel="canonical" href="https://solara.dev{{path}}">
5
- {% endif %}
6
- {#
7
- <!-- not using this right now, leaving it here for reference -->
8
- <link rel="preconnect" href="https://fonts.googleapis.com">
9
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
- <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&family=Inter:wght@700&family=Open+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap" rel="stylesheet">
11
- #}
12
-
13
- <link rel="stylesheet" href="/_solara/cdn/@docsearch/css@3/dist/style.css" />
14
- <script src="/_solara/cdn/@docsearch/js@3"></script>
15
-
16
- <!-- Google Tag Manager -->
17
- <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
18
- new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
19
- j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
20
- 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
21
- })(window,document,'script','dataLayer','GTM-KC98NKNL');</script>
22
- <!-- End Google Tag Manager -->
23
-
24
- {{ super() }}
25
- {% endblock %}
26
-
27
- {% block after_pre_rendered_html %}
28
- {{ super() }}
29
-
30
- <!-- Google Tag Manager (noscript) -->
31
- <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KC98NKNL"
32
- height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
33
- <!-- End Google Tag Manager (noscript) -->
34
-
35
- <style id="algolia">
36
- .DocSearch-Button {
37
- background-color: rgb(255, 238, 197);
38
- color: #182026;
39
- }
40
-
41
- .theme--dark .DocSearch-Button {
42
- background-color: #26273D;
43
- color: hsla(0,0%,100%,.7);
44
- }
45
-
46
- .DocSearch-Button:hover {
47
- background-color: rgba(150,150,200,0.15);
48
- }
49
-
50
- .theme--dark .DocSearch-Button:hover {
51
- background-color: rgba(255, 255, 255, 0.15);
52
- }
53
-
54
- .DocSearch-Button .DocSearch-Search-Icon {
55
- color: #26273D;
56
- }
57
-
58
- .theme--dark .DocSearch-Button .DocSearch-Search-Icon {
59
- color: #ff991f;
60
- }
61
- </style>
62
-
63
- <script>
64
- function solaraAlgoliaInit({appId, apiKey, indexName, debug}) {
65
- const otherClick = (event) => event.button === 1 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey
66
- docsearch({
67
- container: '#docsearch',
68
- appId: "9KW9L7O5EQ",
69
- apiKey: "ef7495102afff1e16d1b7cf6ec2ab2d0",
70
- indexName: "solara",
71
- debug: debug,
72
- hitComponent: ({ hit, children }) => {
73
- // react without the React library
74
- return {
75
- type: 'a',
76
- constructor: undefined,
77
- __v: 1,
78
- props: {
79
- href: hit.url,
80
- children,
81
- onClick: (event) => {
82
- if (otherClick(event)) { return }
83
- event.preventDefault()
84
- let url = hit.url;
85
- if (url.startsWith('https://solara.dev')) {
86
- url = url.substring(18);
87
- }
88
- solara.router.push(url)
89
- }
90
- }
91
- }
92
- },
93
-
94
- navigator: {
95
- navigate({ itemUrl }) {
96
- if (itemUrl.startsWith('https://solara.dev')) {
97
- itemUrl = itemUrl.substring(18);
98
- }
99
- solara.router.push(itemUrl);
100
- },
101
- },
102
- });
103
- }
104
- if(document.getElementById('docsearch')) {
105
- solaraAlgoliaInit({
106
- appId: "9KW9L7O5EQ",
107
- apiKey: "ef7495102afff1e16d1b7cf6ec2ab2d0",
108
- indexName: "solara",
109
- debug: false,
110
- });
111
- }
112
- </script>
113
- <!-- MailChimp -->
114
- <link href="//cdn-images.mailchimp.com/embedcode/classic-061523.css" rel="stylesheet" type="text/css">
115
- <script type="text/javascript" src="//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js"></script>
116
- {% endblock %}
117
- ```
solara/website/utils.py DELETED
@@ -1,51 +0,0 @@
1
- import inspect
2
- import textwrap
3
-
4
-
5
- def sig(f):
6
- lines = inspect.getsourcelines(f)[0]
7
- end = [k.endswith(":\n") for k in lines].index(True)
8
- lines = lines[: end + 1]
9
- return "".join(lines)
10
-
11
-
12
- def code(f):
13
- lines = inspect.getsourcelines(f)[0]
14
- def_end = [k.endswith(":\n") for k in lines].index(True)
15
- doc_lines = len(f.__doc__.split("\n"))
16
- lines = lines[: def_end + 1] + lines[def_end + 1 + doc_lines :]
17
-
18
- return "".join(lines)
19
-
20
-
21
- def apidoc(f, full=False):
22
- if not f.__doc__:
23
- return "no docstring"
24
-
25
- doclines = f.__doc__.split("\n")
26
- first = doclines[0].strip()
27
- rest = "\n".join(doclines[1:]) # .strip()
28
- if full:
29
- return f"""
30
- {first}
31
-
32
- ```python
33
- {code(f)}
34
- ...
35
- ```
36
-
37
-
38
- {textwrap.dedent(rest)}
39
- """
40
- else:
41
- return f"""
42
- {first}
43
-
44
- ```python
45
- {sig(f)}
46
- ...
47
- ```
48
-
49
-
50
- {textwrap.dedent(rest)}
51
- """
@@ -1 +0,0 @@
1
- from .widgets import * # noqa: F401, F403
@@ -1,110 +0,0 @@
1
- <template>
2
- <div>
3
- <div v-if="gridlayout_loaded" style="padding: 0px; width: 100%;">
4
- <grid-layout
5
- :layout.sync="grid_layout"
6
- :col-num="12"
7
- :row-height="30"
8
- :is-draggable="draggable"
9
- :is-resizable="resizable"
10
- :is-mirrored="false"
11
- :vertical-compact="true"
12
- :margin="[10, 10]"
13
- :use-css-transforms="true"
14
- >
15
-
16
- <grid-item v-for="item in grid_layout"
17
- :x="item.x"
18
- :y="item.y"
19
- :w="item.w"
20
- :h="item.h"
21
- :i="item.i"
22
- :key="item.i"
23
- @resized="resizedEvent">
24
- <div v-if="!items[item.i]">
25
- placeholder: {{item.i}}
26
- </div>
27
- <div v-if="items[item.i]">
28
- <jupyter-widget :widget="items[item.i]" :key="'child_' + item.i"></jupyter-widget>
29
- </div>
30
- </grid-item>
31
- </grid-layout>
32
-
33
- </div>
34
- </div>
35
- </template>
36
-
37
- <script>
38
- module.exports = {
39
- async created() {
40
- this.gridlayout_loaded = false
41
-
42
- const {GridLayout, GridItem} = (await this.import([`${this.getCdn()}/@widgetti/vue-grid-layout@2.3.13-alpha.2/dist/vue-grid-layout.umd.js`]))[0]
43
- this.$options.components['grid-item'] = GridItem;
44
- this.$options.components['grid-layout'] = GridLayout;
45
- this.gridlayout_loaded = true;
46
- },
47
- methods: {
48
- resizedEvent(i, newH, newW, newHPx, newWPx) {
49
- // this will cause bqplot to layout itself
50
- window.dispatchEvent(new Event('resize'));
51
- },
52
- import(deps) {
53
- return this.loadRequire().then(
54
- () => {
55
- if(window.jupyterVue) {
56
- // in jupyterlab, we take Vue from ipyvue/jupyterVue
57
- define("vue", [], () => window.jupyterVue.Vue);
58
- } else {
59
- define("vue", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);
60
- }
61
- return new Promise((resolve, reject) => {
62
- requirejs(deps, (...modules) => resolve(modules));
63
- })
64
- }
65
- );
66
- },
67
- loadRequire() {
68
- /* Needed in lab */
69
- if (window.requirejs) {
70
- console.log('require found');
71
- return Promise.resolve()
72
- }
73
- return new Promise((resolve, reject) => {
74
- const script = document.createElement('script');
75
- script.src = `${this.getCdn()}/requirejs@2.3.6/require.js`;
76
- script.onload = resolve;
77
- script.onerror = reject;
78
- document.head.appendChild(script);
79
- });
80
- },
81
- getBaseUrl() {
82
- if (window.solara && window.solara.rootPath !== undefined) {
83
- return solara.rootPath + "/";
84
- }
85
- if (document.getElementsByTagName("base").length) {
86
- return "./";
87
- }
88
- const labConfigData = document.getElementById('jupyter-config-data');
89
- if(labConfigData) {
90
- /* lab and Voila */
91
- return JSON.parse(labConfigData.textContent).baseUrl;
92
- }
93
- let base = document.body.dataset.baseUrl || document.baseURI;
94
- if(!base.endsWith('/')) {
95
- base += '/';
96
- }
97
- return base
98
- },
99
- getCdn() {
100
- return (typeof solara_cdn !== "undefined" && solara_cdn) || `${this.getBaseUrl()}_solara/cdn`;
101
- },
102
- }
103
- }
104
- </script>
105
-
106
- <style id="grid_layout">
107
- .vue-grid-item > div {
108
- height: 100%;
109
- }
110
- </style>
@@ -1,4 +0,0 @@
1
- <template>
2
- <component :is="tag" v-bind="attributes" v-html="unsafe_innerHTML">
3
- </component>
4
- </template>
@@ -1,104 +0,0 @@
1
- <template>
2
- <span></span>
3
- </template>
4
-
5
- <script>
6
- modules.export = {
7
- created() {
8
- history.scrollRestoration = "manual";
9
- if (!window.solara) {
10
- window.solara = {};
11
- }
12
- if (!window.solara.router) {
13
- window.solara.router = {};
14
- }
15
- window.solara.router.push = (href) => {
16
- console.log("external router push", href);
17
- // take of the anchor
18
- if (href.indexOf("#") !== -1) {
19
- href = href.slice(0, href.indexOf("#"));
20
- }
21
- this.location = href;
22
- };
23
- let location = window.location.pathname.slice(solara.rootPath.length);
24
- // take of the anchor
25
- if (location.indexOf("#") !== -1) {
26
- location = location.slice(0, location.indexOf("#"));
27
- }
28
- this.location = location + window.location.search;
29
- window.addEventListener("popstate", this.onPopState);
30
- window.addEventListener("scroll", this.onScroll);
31
- },
32
- destroyed() {
33
- window.removeEventListener("popstate", this.onPopState);
34
- window.removeEventListener("scroll", this.onScroll);
35
- },
36
- methods: {
37
- onScroll() {
38
- window.history.replaceState(
39
- { top: document.documentElement.scrollTop },
40
- null,
41
- solara.rootPath + this.location
42
- );
43
- },
44
- onPopState(event) {
45
- console.log("pop state!", event.state, window.location.href);
46
- if (!window.location.pathname.startsWith(solara.rootPath)) {
47
- throw `window.location.pathname = ${window.location.pathname}, but it should start with the solara.rootPath = ${solara.rootPath}`;
48
- }
49
- let newLocation = window.location.pathname.slice(solara.rootPath.length);
50
- // the router/server shouldn't care about the hash, that's for the frontend
51
- if (newLocation.indexOf("#") !== -1) {
52
- newLocation = newLocation.slice(0, newLocation.indexOf("#"));
53
- }
54
- this.location = newLocation + window.location.search;
55
- if (event.state) {
56
- const top = event.state.top;
57
- /*
58
- // we'd like to restore the scroll position, but we do not know when yet
59
- // maybe we will have a life cycle hook for this in the future
60
- setTimeout(() => {
61
- document.documentElement.scrollTop = top;
62
- }, 500);
63
- */
64
- }
65
- },
66
- },
67
- watch: {
68
- location(value) {
69
- console.log("changed", this.location, value);
70
- const newUrl = new URL(value, window.location);
71
- if(newUrl.origin != window.location.origin) {
72
- // external navigation
73
- window.location = newUrl;
74
- return
75
- }
76
- const pathnameNew = newUrl.pathname
77
- const pathnameOld = window.location.pathname
78
- // if we use the back navigation, this watch will trigger,
79
- // but we don't want to push the history
80
- // otherwise we cannot go forward
81
- if (!window.location.pathname.startsWith(solara.rootPath)) {
82
- throw `window.location.pathname = ${window.location.pathname}, but it should start with the solara.rootPath = ${solara.rootPath}`;
83
- }
84
- const oldLocation = window.location.pathname.slice(solara.rootPath.length) + window.location.search;
85
- console.log(
86
- "location changed",
87
- oldLocation,
88
- this.location,
89
- document.documentElement.scrollTop
90
- );
91
- if (oldLocation != this.location) {
92
- window.history.pushState({ top: 0 }, null, solara.rootPath + this.location);
93
- if (pathnameNew != pathnameOld) {
94
- // we scroll to the top only when we change page, not when we change
95
- // the search string
96
- window.scrollTo(0, 0);
97
- }
98
- const event = new Event('solara.router');
99
- window.dispatchEvent(event);
100
- }
101
- },
102
- },
103
- };
104
- </script>