marimo.app_meta.theme
Description
Add a marimo.settings, to control or only read the settings if controlling setting in cell will interrupt the notebook.
Suggested solution
Why this feature can be useful:
We can use the value of marimo.settings.width, marimo.setting.theme, etc to render some ui.
for instance, plotly, when specifying a figure's layout, we can do the following:
template = 'plotly_dark` if marimo.settings.theme == 'dark' else 'plotly_white'
fig.update_layout(
template=template
)
then we can get a dark plotly figure in dark mode and a light one in light mode
Alternative
No response
Additional context
No response
We should expose the theme for sure - not sure if we need all the other settings.
We can put this in AppMetadata.
Also - it would be nice if marimo could handle these setting under the hood (but can be turned off).
e.g. marimo.theme.autohandle_third_party()
@metaboulie - i updated the title to add marimo.app_meta.theme. We can think about adding more settings there over time for specific use-cases
For the implementor:
We have something already called AppMetadata. That is currently an internal class that we probably don't want to expose everything in there. So we can rename that, or come up with another name for what marimo.app_meta is
Closed by @metaboulie via #2126