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,15 +0,0 @@
1
- """
2
- # use_router
3
-
4
- """
5
- import solara
6
- from solara.website.components import NoPage
7
- from solara.website.utils import apidoc
8
-
9
- title = "use_router"
10
-
11
-
12
- Page = NoPage
13
-
14
-
15
- __doc__ += apidoc(solara.use_router) # type: ignore
@@ -1,9 +0,0 @@
1
- import solara
2
- from solara.website.components import NoPage, SubCategoryLayout
3
-
4
- Page = NoPage
5
-
6
-
7
- @solara.component
8
- def Layout(children=[]):
9
- SubCategoryLayout(children=children)
@@ -1,11 +0,0 @@
1
- """# component_vue
2
-
3
- """
4
- import solara
5
- import solara.autorouting
6
- from solara.website.components import NoPage
7
- from solara.website.utils import apidoc
8
-
9
- title = "component_vue"
10
- Page = NoPage
11
- __doc__ += apidoc(solara.component_vue) # type: ignore
@@ -1,16 +0,0 @@
1
- """
2
- # computed
3
-
4
- """
5
-
6
- import solara
7
- from solara.website.components import NoPage
8
- from solara.website.utils import apidoc
9
-
10
- title = "computed"
11
-
12
-
13
- Page = NoPage
14
-
15
-
16
- __doc__ += apidoc(solara.lab.computed) # type: ignore
@@ -1,15 +0,0 @@
1
- """
2
- # display
3
-
4
- """
5
- import solara
6
- from solara.website.components import NoPage
7
- from solara.website.utils import apidoc
8
-
9
- title = "display"
10
-
11
-
12
- Page = NoPage
13
-
14
-
15
- __doc__ += apidoc(solara.display) # type: ignore
@@ -1,16 +0,0 @@
1
- """
2
- # get_kernel_id
3
-
4
- """
5
-
6
- import solara
7
- from solara.website.components import NoPage
8
- from solara.website.utils import apidoc
9
-
10
- title = "get_kernel_id"
11
-
12
-
13
- Page = NoPage
14
-
15
-
16
- __doc__ += apidoc(solara.get_kernel_id) # type: ignore
@@ -1,16 +0,0 @@
1
- """
2
- # get_session_id
3
-
4
- """
5
-
6
- import solara
7
- from solara.website.components import NoPage
8
- from solara.website.utils import apidoc
9
-
10
- title = "get_session_id"
11
-
12
-
13
- Page = NoPage
14
-
15
-
16
- __doc__ += apidoc(solara.get_session_id) # type: ignore
@@ -1,36 +0,0 @@
1
- """#Memoize
2
-
3
- """
4
- import time
5
-
6
- import solara
7
- import solara.lab
8
- from solara.website.utils import apidoc
9
-
10
- # make sure the cache is only created once
11
- storage = solara.cache.Memory(max_items=2)
12
-
13
-
14
- @solara.component
15
- def Page():
16
- x, set_x = solara.use_state(5)
17
-
18
- @solara.memoize(storage=storage)
19
- def long_running_function(x: int) -> int:
20
- """This function takes a long time to run."""
21
- time.sleep(3)
22
- return x**2
23
-
24
- result = long_running_function.use_thread(x)
25
-
26
- with solara.Card("Expensive computation") as main:
27
- solara.Markdown("We cache 2 values. Each computation takes 3 seconds. If you go back to a cached value, you will see the result immediately.")
28
- solara.IntSlider("x", value=x, on_value=set_x)
29
- if result.state == solara.ResultState.FINISHED:
30
- solara.Markdown(f"Square of {x} is {result.value}")
31
- else:
32
- solara.Markdown("Running...")
33
- return main
34
-
35
-
36
- __doc__ += apidoc(solara.memoize) # type: ignore
@@ -1,27 +0,0 @@
1
- """
2
- # on_kernel_start
3
-
4
- Run a function when a virtual kernel (re)starts and optionally run a cleanup function on shutdown.
5
-
6
- ```python
7
- def on_kernel_start(f: Callable[[], Optional[Callable[[], None]]]) -> Callable[[], None]:
8
- ...
9
- ```
10
-
11
- `f` will be called on each virtual kernel (re)start. This (usually) happens each time a browser tab connects to the server
12
- [see solara server for more details](https://solara.dev/docs/understanding/solara-server).
13
- The (optional) function returned by `f` will be called on kernel shutdown.
14
-
15
- Note that the cleanup functions are called in reverse order with respect to the order in which they were registered
16
- (e.g. the cleanup function of the last call to `on_kernel_start` will be called first on kernel shutdown).
17
-
18
- The return value of on_kernel_start is a cleanup function that will remove the callback from the list of callbacks to be called on kernel start.
19
-
20
- During hot reload, the callbacks that are added from scripts or modules that will be reloaded will be removed before the app is loaded
21
- again. This can cause the order of the callbacks to be different than at first run.
22
- """
23
-
24
- from solara.website.components import NoPage
25
-
26
- title = "on_kernel_start"
27
- Page = NoPage
@@ -1,15 +0,0 @@
1
- """
2
- # reactive
3
-
4
- """
5
- import solara
6
- from solara.website.components import NoPage
7
- from solara.website.utils import apidoc
8
-
9
- title = "reactive"
10
-
11
-
12
- Page = NoPage
13
-
14
-
15
- __doc__ += apidoc(solara.reactive) # type: ignore
@@ -1,104 +0,0 @@
1
- """
2
-
3
- # Component.widget
4
-
5
- Create a classic ipywidget from a component.
6
-
7
- ```python
8
- def widget(self, **kwargs):
9
- ...
10
- ```
11
-
12
-
13
- This will create a widget from the component. The widget will be a
14
- subclass of `ipywidgets.VBox` and `ipywidgets.ValueWidget`.
15
-
16
- Example
17
-
18
- ```python
19
- import solara
20
- widget = solara.FileDownload.widget(data="some text data", filename="solara-demo.txt")
21
- ```
22
-
23
- This is very useful if you are migrating your application from a classic
24
- ipywidget to solara. See [also the ipywidgets tutorial](/documentation/getting_started/tutorials/ipywidgets).
25
-
26
- The `ipywidgets.ValueWidget` is used to enable the use of the widget in
27
- interact, or interactive. The `ipywidgets.VBox` is used to enable
28
- nesting of widgets.
29
-
30
- All keyword arguments will be passed to the component.
31
- Each argument pair of `on_<name>` and `<name>` will
32
- be added as a trait in the widget.
33
-
34
- For example,
35
-
36
- ```solara
37
- import solara
38
- import ipywidgets as widgets
39
- import random
40
-
41
-
42
- countries_demo_data = {
43
- "Netherlands": ["Amsterdam", "Rotterdam", "The Hague"],
44
- "Germany": ["Berlin", "Hamburg", "Munich"],
45
- "France": ["Paris", "Marseille", "Lyon"],
46
- }
47
-
48
-
49
- # this component can be used in a component three, but ...
50
- @solara.component
51
- def LocationSelect(value, on_value, countries=countries_demo_data):
52
- country, city = value
53
- cities = countries.get(country, [])
54
- # reset to None if not in the list of countries
55
- if city not in cities:
56
- city = None
57
- # update the state if we changed/reset city
58
- on_value((country, city))
59
-
60
- with solara.Card("Location"):
61
- solara.Select(label="country",
62
- values=list(countries),
63
- value=country,
64
- on_value=lambda country: on_value((country, city)),
65
- )
66
- solara.Select(label="city",
67
- values=cities,
68
- value=city,
69
- on_value=lambda city: on_value((country, city)),
70
- )
71
-
72
-
73
- # Using .widget(...) we can create a widget from it.
74
- # For use with interact:
75
- @widgets.interact(location=LocationSelect.widget(value=("Netherlands", "Amsterdam")))
76
- def f(size=3.4, location=None):
77
- print(size, location)
78
-
79
-
80
- # Or to add to your VBox:
81
- widgets.VBox(
82
- [LocationSelect.widget(value=("Netherlands", "Amsterdam"))]
83
- )
84
-
85
- # this is how you'd use it as a component
86
- @solara.component
87
- def Page():
88
- value, set_value = solara.use_state(("Netherlands", "Amsterdam"))
89
- def pick():
90
- country = random.choice(list(countries_demo_data))
91
- city = random.choice(countries_demo_data[country])
92
- set_value((country, city))
93
-
94
- LocationSelect(value=value, on_value=set_value)
95
- solara.Button("Pick random place", on_click=pick)
96
-
97
- ```
98
-
99
- """
100
-
101
- from solara.website.components import NoPage
102
-
103
- Page = NoPage
104
- title = "widget"
@@ -1,12 +0,0 @@
1
- import solara
2
- from solara.website.components import CategoryLayout, Gallery
3
-
4
-
5
- @solara.component
6
- def Page(route_external=None):
7
- Gallery(route_external)
8
-
9
-
10
- @solara.component
11
- def Layout(children=[]):
12
- CategoryLayout(children=children)
@@ -1,9 +0,0 @@
1
- import solara
2
- from solara.website.components import NoPage, SubCategoryLayout
3
-
4
- Page = NoPage
5
-
6
-
7
- @solara.component
8
- def Layout(children=[]):
9
- SubCategoryLayout(children=children)
@@ -1,28 +0,0 @@
1
- """# Link
2
-
3
- """
4
- import solara
5
- from solara.website.utils import apidoc
6
-
7
- routes = [
8
- solara.Route(path="/"),
9
- solara.Route(path="kiwi"),
10
- solara.Route(path="banana"),
11
- solara.Route(path="apple"),
12
- ]
13
-
14
-
15
- @solara.component
16
- def Page():
17
- route_current, routes = solara.use_route()
18
- with solara.VBox() as main:
19
- solara.Info("Note the address bar in the browser. It should change to the path of the link.")
20
- with solara.HBox():
21
- for route in routes:
22
- with solara.Link(route):
23
- current = route_current is route
24
- solara.Button(f"Go to {route.path}", color="red" if current else None)
25
- return main
26
-
27
-
28
- __doc__ += apidoc(solara.Link.f) # type: ignore
@@ -1,21 +0,0 @@
1
- """# Meta
2
- """
3
-
4
- import solara
5
- from solara.website.utils import apidoc
6
-
7
-
8
- @solara.component
9
- def Page():
10
- with solara.VBox() as main:
11
- solara.Info("Nothing to see here, only in this page's source code, or by looking at the google search results for this page.")
12
- with solara.Head():
13
- solara.Meta(
14
- name="description",
15
- content="The Meta component can be used to set the description of a page. This is useful for SEO, or crawlers that index your page.",
16
- )
17
-
18
- return main
19
-
20
-
21
- __doc__ += apidoc(solara.Meta.f) # type: ignore
@@ -1,44 +0,0 @@
1
- """
2
- # Style
3
-
4
- """
5
- import solara
6
- from solara.website.utils import apidoc
7
-
8
-
9
- @solara.component
10
- def Page():
11
- insert_css, set_insert_css = solara.use_state(True)
12
-
13
- css = """
14
- .mybutton {
15
- font-family: Serif;
16
- }
17
-
18
- /* this selector has to be very specific to override the vuetify style */
19
- .v-btn.mybutton {
20
- color: #4CAF50; /* Green */
21
- }
22
- /* vuetify's background color css has very high CSS-specificity, so we use !important */
23
- .mybutton {
24
- background-color: #FF9800 !important; /* Orange */
25
- }
26
- """
27
-
28
- with solara.VBox() as main:
29
- solara.Checkbox(label="Use CSS", value=insert_css, on_value=set_insert_css)
30
- solara.Markdown(
31
- f"""
32
- ## CSS Example that styles the button below
33
- ```css
34
- {css}
35
- ```
36
- """
37
- )
38
- if insert_css:
39
- solara.Style(css)
40
- solara.Button(label="Advanced users might want to style this", icon_name="mdi-thumb-up", classes=["mybutton"])
41
- return main
42
-
43
-
44
- __doc__ += apidoc(solara.Style.f) # type: ignore
@@ -1,9 +0,0 @@
1
- import solara
2
- from solara.alias import rv
3
-
4
-
5
- @solara.component
6
- def ColorCard(title, color):
7
- with rv.Card(style_=f"background-color: {color}; width: 100%; height: 100%") as main:
8
- rv.CardTitle(children=[title])
9
- return main
@@ -1,9 +0,0 @@
1
- import solara
2
- from solara.website.components import NoPage, SubCategoryLayout
3
-
4
- Page = NoPage
5
-
6
-
7
- @solara.component
8
- def Layout(children=[]):
9
- SubCategoryLayout(children=children)
@@ -1,44 +0,0 @@
1
- """
2
- # DataFrame
3
-
4
- """
5
-
6
- from typing import Any, Dict, Optional, cast
7
-
8
- import plotly
9
-
10
- import solara
11
- from solara.website.utils import apidoc
12
-
13
- df = plotly.data.iris()
14
-
15
-
16
- @solara.component
17
- def Page():
18
- column, set_column = solara.use_state(cast(Optional[str], None))
19
- cell, set_cell = solara.use_state(cast(Dict[str, Any], {}))
20
-
21
- def on_action_column(column):
22
- set_column(column)
23
-
24
- def on_action_cell(column, row_index):
25
- set_cell(dict(column=column, row_index=row_index))
26
-
27
- column_actions = [solara.ColumnAction(icon="mdi-sunglasses", name="User column action", on_click=on_action_column)]
28
- cell_actions = [solara.CellAction(icon="mdi-white-balance-sunny", name="User cell action", on_click=on_action_cell)]
29
- solara.Markdown(
30
- f"""
31
- ## Demo
32
-
33
- Below we show display the titanic dataset, and demonstrate a user column and cell action. Try clicking on the triple icon when hovering
34
- above a column or cell. And see the following values changes:
35
-
36
- * Column action on: `{column}`
37
- * Cell action on: `{cell}`
38
-
39
- """
40
- )
41
- solara.DataFrame(df, column_actions=column_actions, cell_actions=cell_actions)
42
-
43
-
44
- __doc__ += apidoc(solara.DataFrame.f) # type: ignore
@@ -1,81 +0,0 @@
1
- """
2
- # PivotTable
3
-
4
- Interactive [Pivot Table](https://en.wikipedia.org/wiki/Pivot_table) showing aggregated data in groups.
5
-
6
- We provide three version of the pivot table
7
-
8
- * PivotTableView: Takes already aggregated data as input
9
- * PivotTable: Takes a dataframe as input and aggregates it for you.
10
- * PivotTableCard: Similar to PivotTable but with a card layout, and configuration options.
11
-
12
- """
13
-
14
- import solara
15
-
16
- try:
17
- import vaex.datasets
18
-
19
- df = vaex.datasets.titanic()
20
- except Exception:
21
- df = None
22
- vaex = None
23
-
24
-
25
- @solara.component
26
- def View():
27
- # select on the 2nd x axis, index=3, which means (pclass=2, survived=true)
28
- # Note: the indices refer to the header_x and header_y
29
- selected, on_selected = solara.use_state({"x": [1, 3]})
30
- data = solara.PivotTableData(
31
- {
32
- "x": ["pclass", "survived"],
33
- "y": ["sex"],
34
- "agg": "count",
35
- "values": [["5", "118"], ["139", "61"], ["12", "146"], ["94", "25"], ["110", "418"], ["106", "75"]],
36
- "values_x": ["123", "200", "158", "119", "528", "181"],
37
- "values_y": ["466", "843"],
38
- "headers_x": [["1", "1", "2", "2", "3", "3"], ["false", "true", "false", "true", "false", "true"]],
39
- "headers_y": [["female", "male"]],
40
- "counts_x": 6,
41
- "counts_y": 2,
42
- "total": "1,309",
43
- }
44
- )
45
- with solara.VBox() as main:
46
- solara.Markdown(f"`selected = {selected}`")
47
- solara.PivotTableView(data=data, selected=selected, on_selected=on_selected)
48
- return main
49
-
50
-
51
- @solara.component
52
- def Page():
53
- if vaex is None:
54
- return solara.Markdown("This example requires vaex, please install it with `pip install vaex`")
55
- with solara.Div() as main:
56
- solara.Markdown("# Titanic")
57
- selected, on_selected = solara.use_state({"x": [0, 0]})
58
- solara.provide_cross_filter()
59
- with solara.VBox():
60
- type, set_type = solara.use_state("view")
61
- with solara.ToggleButtonsSingle(type, on_value=set_type):
62
- solara.Button("PivotTableView", value="view")
63
- solara.Button("PivotTable", value="df")
64
- solara.Button("PivotTableCard", value="card")
65
- if type == "view":
66
- solara.Markdown("# PivotTableView\nThis component will take aggregates data as input")
67
- View()
68
- elif type == "df":
69
- solara.Markdown("# PivotTable\nThis component aggregates the dataframe for you")
70
- solara.Markdown(f"`selected = {selected}`")
71
- solara.PivotTable(df, ["pclass"], ["sex"], selected=selected, on_selected=on_selected)
72
- elif type == "card":
73
- solara.Markdown("# PivotTable\nThis component aggregates the dataframe for you, and gives a UI to configure the component")
74
- solara.Markdown(f"`selected = {selected}`")
75
- solara.PivotTableCard(df, ["pclass"], ["sex"], selected=selected, on_selected=on_selected)
76
- return main
77
-
78
-
79
- Component = Page
80
- App = Component
81
- app = Page()
@@ -1,9 +0,0 @@
1
- import solara
2
- from solara.website.components import NoPage, SubCategoryLayout
3
-
4
- Page = NoPage
5
-
6
-
7
- @solara.component
8
- def Layout(children=[]):
9
- SubCategoryLayout(children=children)
@@ -1,19 +0,0 @@
1
- """
2
- # Avatar
3
-
4
- """
5
- try:
6
- from solara_enterprise import auth
7
- except ImportError:
8
- auth = None
9
- from solara.website.components import NoPage
10
- from solara.website.utils import apidoc
11
-
12
- title = "Avatar"
13
-
14
- Page = NoPage
15
-
16
- if auth:
17
- __doc__ += apidoc(auth.Avatar.f) # type: ignore
18
- else:
19
- __doc__ += "solara-enterprise not installed."
@@ -1,20 +0,0 @@
1
- """
2
- # AvatarMenu
3
-
4
- """
5
- try:
6
- from solara_enterprise import auth
7
- except ImportError:
8
- auth = None
9
- from solara.website.components import NoPage
10
- from solara.website.utils import apidoc
11
-
12
- title = "AvatarMenu"
13
-
14
- Page = NoPage
15
-
16
-
17
- if auth:
18
- __doc__ += apidoc(auth.AvatarMenu.f) # type: ignore
19
- else:
20
- __doc__ += "solara-enterprise not installed."
@@ -1,9 +0,0 @@
1
- import solara
2
- from solara.website.components import NoPage, SubCategoryLayout
3
-
4
- Page = NoPage
5
-
6
-
7
- @solara.component
8
- def Layout(children=[]):
9
- SubCategoryLayout(children=children)
@@ -1,22 +0,0 @@
1
- """
2
- # Button
3
-
4
- """
5
- import solara
6
- from solara.website.utils import apidoc
7
-
8
-
9
- @solara.component
10
- def Page():
11
- count, set_count = solara.use_state(0)
12
-
13
- def increment():
14
- set_count(count + 1)
15
-
16
- with solara.VBox() as main:
17
- with solara.HBox():
18
- solara.Button(label=f"Clicked {count} times", on_click=increment, icon_name="mdi-thumb-up")
19
- return main
20
-
21
-
22
- __doc__ += apidoc(solara.Button.f) # type: ignore
@@ -1,12 +0,0 @@
1
- """# Checkbox
2
-
3
- """
4
-
5
- import solara
6
- from solara.website.components import NoPage
7
- from solara.website.utils import apidoc
8
-
9
- Page = NoPage
10
-
11
-
12
- __doc__ += apidoc(solara.Checkbox.f) # type: ignore