solara 1.30.1__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 (438) hide show
  1. {solara-1.30.1.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.1.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 -545
  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 -110
  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 -88
  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 -396
  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/markdown.py +0 -30
  187. solara/website/components/notebook.py +0 -172
  188. solara/website/pages/__init__.py +0 -575
  189. solara/website/pages/apps/__init__.py +0 -16
  190. solara/website/pages/apps/authorization/__init__.py +0 -118
  191. solara/website/pages/apps/authorization/admin.py +0 -12
  192. solara/website/pages/apps/authorization/users.py +0 -12
  193. solara/website/pages/apps/jupyter-dashboard-1.py +0 -116
  194. solara/website/pages/apps/layout-demo.py +0 -40
  195. solara/website/pages/apps/multipage/__init__.py +0 -38
  196. solara/website/pages/apps/multipage/page1.py +0 -26
  197. solara/website/pages/apps/multipage/page2.py +0 -34
  198. solara/website/pages/apps/scatter.py +0 -136
  199. solara/website/pages/apps/scrolling.py +0 -63
  200. solara/website/pages/apps/tutorial-streamlit.py +0 -18
  201. solara/website/pages/changelog/__init__.py +0 -8
  202. solara/website/pages/changelog/changelog.md +0 -195
  203. solara/website/pages/contact/__init__.py +0 -8
  204. solara/website/pages/contact/contact.md +0 -17
  205. solara/website/pages/doc_use_download.py +0 -85
  206. solara/website/pages/documentation/__init__.py +0 -184
  207. solara/website/pages/documentation/advanced/__init__.py +0 -9
  208. solara/website/pages/documentation/advanced/content/00-overview.md +0 -1
  209. solara/website/pages/documentation/advanced/content/10-howto/00-overview.md +0 -6
  210. solara/website/pages/documentation/advanced/content/10-howto/10-multipage.md +0 -196
  211. solara/website/pages/documentation/advanced/content/10-howto/20-layout.md +0 -125
  212. solara/website/pages/documentation/advanced/content/10-howto/30-testing.md +0 -154
  213. solara/website/pages/documentation/advanced/content/10-howto/31-debugging.md +0 -69
  214. solara/website/pages/documentation/advanced/content/10-howto/40-embed.md +0 -49
  215. solara/website/pages/documentation/advanced/content/10-howto/50-ipywidget_libraries.md +0 -124
  216. solara/website/pages/documentation/advanced/content/20-understanding/00-introduction.md +0 -10
  217. solara/website/pages/documentation/advanced/content/20-understanding/05-ipywidgets.md +0 -35
  218. solara/website/pages/documentation/advanced/content/20-understanding/06-ipyvuetify.md +0 -42
  219. solara/website/pages/documentation/advanced/content/20-understanding/10-reacton.md +0 -28
  220. solara/website/pages/documentation/advanced/content/20-understanding/12-reacton-basics.md +0 -108
  221. solara/website/pages/documentation/advanced/content/20-understanding/15-anatomy.md +0 -23
  222. solara/website/pages/documentation/advanced/content/20-understanding/17-rules-of-hooks.md +0 -7
  223. solara/website/pages/documentation/advanced/content/20-understanding/18-containers.md +0 -166
  224. solara/website/pages/documentation/advanced/content/20-understanding/20-solara.md +0 -18
  225. solara/website/pages/documentation/advanced/content/20-understanding/40-routing.md +0 -240
  226. solara/website/pages/documentation/advanced/content/20-understanding/50-solara-server.md +0 -86
  227. solara/website/pages/documentation/advanced/content/20-understanding/60-voila.md +0 -12
  228. solara/website/pages/documentation/advanced/content/30-enterprise/00-overview.md +0 -1
  229. solara/website/pages/documentation/advanced/content/30-enterprise/10-oauth.md +0 -171
  230. solara/website/pages/documentation/advanced/content/40-development/00-overview.md +0 -0
  231. solara/website/pages/documentation/advanced/content/40-development/01-contribute.md +0 -45
  232. solara/website/pages/documentation/advanced/content/40-development/10-setup.md +0 -76
  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 -12
  379. solara/website/pages/documentation/faq/content/99-faq.md +0 -76
  380. solara/website/pages/documentation/getting_started/__init__.py +0 -9
  381. solara/website/pages/documentation/getting_started/content/00-quickstart.md +0 -89
  382. solara/website/pages/documentation/getting_started/content/01-introduction.md +0 -125
  383. solara/website/pages/documentation/getting_started/content/02-installing.md +0 -85
  384. solara/website/pages/documentation/getting_started/content/04-tutorials/00-overview.md +0 -14
  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 -89
  387. solara/website/pages/documentation/getting_started/content/04-tutorials/30-ipywidgets.md +0 -124
  388. solara/website/pages/documentation/getting_started/content/04-tutorials/40-streamlit.md +0 -146
  389. solara/website/pages/documentation/getting_started/content/04-tutorials/50-dash.md +0 -144
  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 -11
  395. solara/website/pages/documentation/getting_started/content/05-fundamentals/10-components.md +0 -223
  396. solara/website/pages/documentation/getting_started/content/05-fundamentals/50-state-management.md +0 -88
  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 -31
  399. solara/website/pages/documentation/getting_started/content/06-reference/41-asset-files.md +0 -36
  400. solara/website/pages/documentation/getting_started/content/06-reference/60-static-site-generation.md +0 -59
  401. solara/website/pages/documentation/getting_started/content/06-reference/70-search.md +0 -34
  402. solara/website/pages/documentation/getting_started/content/06-reference/80-reloading.md +0 -34
  403. solara/website/pages/documentation/getting_started/content/06-reference/90-notebook-support.md +0 -7
  404. solara/website/pages/documentation/getting_started/content/06-reference/95-caching.md +0 -148
  405. solara/website/pages/documentation/getting_started/content/07-deploying/00-overview.md +0 -7
  406. solara/website/pages/documentation/getting_started/content/07-deploying/10-self-hosted.md +0 -273
  407. solara/website/pages/documentation/getting_started/content/07-deploying/20-cloud-hosted.md +0 -80
  408. solara/website/pages/documentation/getting_started/content/80-what-is-lab.md +0 -7
  409. solara/website/pages/documentation/getting_started/content/90-troubleshoot.md +0 -26
  410. solara/website/pages/docutils.py +0 -38
  411. solara/website/pages/showcase/__init__.py +0 -105
  412. solara/website/pages/showcase/domino_code_assist.py +0 -60
  413. solara/website/pages/showcase/planeto_tessa.py +0 -19
  414. solara/website/pages/showcase/solara_dev.py +0 -54
  415. solara/website/pages/showcase/solarathon_2023_team_2.py +0 -22
  416. solara/website/pages/showcase/solarathon_2023_team_4.py +0 -22
  417. solara/website/pages/showcase/solarathon_2023_team_5.py +0 -23
  418. solara/website/pages/showcase/solarathon_2023_team_6.py +0 -34
  419. solara/website/pages/showcase/wanderlust.py +0 -27
  420. solara/website/public/beach.jpeg +0 -0
  421. solara/website/public/logo.svg +0 -6
  422. solara/website/public/social/discord.svg +0 -1
  423. solara/website/public/social/github.svg +0 -1
  424. solara/website/public/social/twitter.svg +0 -3
  425. solara/website/public/success.html +0 -25
  426. solara/website/templates/index.html.j2 +0 -117
  427. solara/website/utils.py +0 -51
  428. solara/widgets/__init__.py +0 -1
  429. solara/widgets/vue/gridlayout.vue +0 -110
  430. solara/widgets/vue/html.vue +0 -4
  431. solara/widgets/vue/navigator.vue +0 -104
  432. solara/widgets/vue/vegalite.vue +0 -115
  433. solara/widgets/widgets.py +0 -65
  434. solara-1.30.1.data/data/etc/jupyter/jupyter_notebook_config.d/solara.json +0 -7
  435. solara-1.30.1.data/data/etc/jupyter/jupyter_server_config.d/solara.json +0 -7
  436. solara-1.30.1.dist-info/RECORD +0 -437
  437. solara-1.30.1.dist-info/entry_points.txt +0 -5
  438. /solara-1.30.1.dist-info/licenses/LICENSE → /LICENSE +0 -0
@@ -1,80 +0,0 @@
1
- """
2
- # use_route
3
- """
4
-
5
- import solara
6
- from solara.website.utils import apidoc
7
-
8
- title = "use_route"
9
-
10
-
11
- @solara.component
12
- def Fruit():
13
- # this gets all routes in fruit's children
14
- route, routes = solara.use_route()
15
-
16
- if route is None:
17
- with solara.Link("banana") as main:
18
- solara.Button("Fruit not found, go to banana")
19
- return main
20
-
21
- if route.path == "/":
22
- with solara.Link("banana") as main:
23
- solara.Button("Choose a fruit, I recomment banana")
24
- return main
25
-
26
- with solara.VBox() as main:
27
- with solara.HBox():
28
- for route_fruit in routes[1:]:
29
- with solara.Link(solara.resolve_path(route_fruit)):
30
- solara.Button(route_fruit.path)
31
-
32
- with solara.Link("/documentation/api/routing/use_route/fruit/nofruit", nofollow=True):
33
- solara.Button("Wrong fruit")
34
- with solara.Link("/documentation/api/routing/use_route/not-routed", nofollow=True):
35
- solara.Button("Wrong url")
36
- solara.Success(f"You chose {route.path}")
37
- return main
38
-
39
-
40
- @solara.component
41
- def Page():
42
- # this gets the top level routes, '/' and 'fruit'
43
- route_current, routes_all = solara.use_route()
44
- with solara.VBox() as main:
45
- with solara.Card("Navigation using buttons"):
46
- with solara.HBox():
47
- for route in routes_all:
48
- with solara.Link(route):
49
- solara.Button(route.path, color="red" if route_current == route else None)
50
- with solara.Card("Content decided by route:"):
51
- if route_current is None:
52
- solara.Error("Page does not exist")
53
- with solara.Link("fruit/kiwi"):
54
- solara.Button("Go to fruit/kiwi")
55
- elif route_current.path == "/":
56
- with solara.Link("fruit/banana"):
57
- solara.Button("Go to fruit/banana")
58
- elif route_current.path == "fruit":
59
- Fruit()
60
- else:
61
- solara.Error(f"Unknown route: {route_current.path}")
62
- return main
63
-
64
-
65
- routes = [
66
- solara.Route(path="/"),
67
- solara.Route(
68
- path="fruit",
69
- component=Fruit,
70
- children=[
71
- solara.Route(path="/"),
72
- solara.Route(path="kiwi"),
73
- solara.Route(path="banana"),
74
- solara.Route(path="apple"),
75
- ],
76
- ),
77
- ]
78
-
79
- sources = [Fruit.f, Page.f] # type: ignore
80
- __doc__ += apidoc(solara.use_route) # type: ignore
@@ -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."