Solara

S

Solara

Join the community to ask questions about Solara and get answers from other members.

Join

questions-issues

general

announcements

Dashboard from a dataframe, modified only i-th row

Hello, I have a dashboard created from a dataframe. For each row from a df subset a card with graph and some other info is created. Now if the data in i-th row are modified, I want to update only the corresponding card. My current solution updates all rows. The code is at https://gist.github.com/robert-marik/77e1bdccc617bd6880f324535fe74a98 (I was not allowed to paste link from pycafe, since the message turned to be long). When I click the button, all cards are rendered again, despite the fact that only one row has been modified. Any idea?...

Second sidebar

Is there any easy way to create a second sidebar where can place extra controls? Similar to Tensorflow tensorboard (e.g https://www.tensorflow.org/tensorboard) Or anyway to change default layout by using Vuetify wireframes (e.g https://v2.vuetifyjs.com/en/getting-started/wireframes/) ?...

iPhone mine

My iPhone Mini (13) is having some issues with Solara, as the browser keeps freezing. Which iphone would you recommend for better performance ?

Database interaction

Do you have an example where solara is used to generate an interface allowing the user to interact with a database ?: I am looking to build an app that allows - reading info through a research bar (researching an email and displaying related info like associated group) - editing info in the displayed results and saving it to the database - writing a new line in a table thanks to a form-like component...

Is there a way to manage multi-user storage?

I work on a system where we allow users to start AWS instances and use them to run jupyter notebooks and/or voila apps, basically, once the instance starts, we mount the user file system and they can run their workflows on their environments. There's a couple of modules that we would like to move from voila, to Solara, we would like to create a custom docker container where we would launch the Solara app... the problem is that we'd like to have user's storage independent, so if an user (that we know who is) launches the tool, they ideally will only have access to an specific folder in the server where Solara is running, but we need to make sure that they cannot see different user's info.... From the point of view of Solara, is there any use case where you have already implemented something similar? is there any application you think might help to achieve this?...

I am trying to create an HTML component with event listeners.

The aim is to have an HTML component to render HTML snippets and than listen to certain events that happen on a particular class. For instance attach a click event listener to all elements with class decorated. I want to emit these events so that I can check in the python backend which element was clicked So far I was able to create the vue template file and also the ipyvuetify component which I then convert to a solara component. It works except for catching the emitted event in python. Here are the two files I have so far as well as the page for solara. Any ideas would be much appreciated....

Solara not respecting different root path

We have a Solara app which we'd like to exist at a specific URL, e.g. http://domain.com/solara-app. However, it doesn't seem like we can find the correct combination of SOLARA_ROOT_PATH, SOLARA_BASE_URL, or SOLARA_ORIGIN to get the app served at that location. Currently, when using SOLARA_ROOT_PATH and SOLAR_BASE_URL, attempting to access http://domain.com/solara-app yields a spinning loading icon and the following the console:
WebSocket connection to 'ws://localhost:8865/solara-app/jupyter/api/kernels/c24edfd8-d5c3-4c25-b9c0-8b1d0b49f2dd/channels?session_id=38c6874d-2fed-4d58-9211-80f5a3f33295' failed:
WebSocket connection to 'ws://localhost:8865/solara-app/jupyter/api/kernels/c24edfd8-d5c3-4c25-b9c0-8b1d0b49f2dd/channels?session_id=38c6874d-2fed-4d58-9211-80f5a3f33295' failed:
We have also tried attempting to mount the Solara app at the specified path in a Starlette server, which does seem to work except that our static asset files are no longer found, and the authentication through Solara Enterprise fails with Starlette complaining about missing middle ware....

Context doesn't update when fetching from a namespace

I'm having some trouble getting a context to be provided then read in a child component properly. At the top-most component, the context is defined, but perhaps because of the import order, it doesn't seem to re-update the context later? When the reading function si called, it only reads it as 'foobar' and doesn't change. Here is the schematic:...

Documentation on caching behaviour

Where can i find documentation / code examples on how solara handles component caching? I noticed that sub components are not re-rendered when their parent is re-rendered if their arguments do not change and if they are in the same order. But if the arguments or the order changes, they get redrawn I am rendering a list of components, to which i need to add in random locations. When adding to the bottom it works great, only rendering the new one, but when adding in other locations it forces a re-render of the whole list. ...

hiding details page in navbar with AppLayout

Trying to implement a "details" page for one of my entities (Runs). ``` import solara from webcrawler.models import Run...
No description

ipyaggrid switch between light and dark mode

I've not been able to figure out how to get the ipyaggrid to switch between light and dark mode without a screen refresh. Attached is an example. If I have the Tabs on lazy mode it will force a re-render. https://py.cafe/wyvnthewolf/solara-aggrid-dark-mode-toggle Any insight would be appreciated....

standard file input using the v-file-input component.

I am trying to implement the ability to upload files using the v-file-input component from vuetify. I got as far as ``` Import reacton.ipyvuetify as rv @solara.component...

Efficiently rendering a list of components

Hey! I think i might be doing something in a non-solara way, since my app is having trouble re-rendering some compoents. I have a 'logbook' component that displays a list of entries in a loop, something like this:...

Add style for Appbar

Hi guys! How can I add style for Appbar?...
No description

Authorization example using a Thread/Task is even possible?

Hello! I'm playing with/studying the Authorization https://solara.dev/apps/authorization/users example. I'm trying to extend it to show a Spinner / ProgressLinear once the user clicks the Login button because in my use case the login function could take several seconds to finish. ...

Right-click context menu onto another widget

I'd like to try and add a Solara right-click context menu onto a Plotly FigureWidget (FigurePlotly instance), but I have no idea how to disable the generic context menu and override with my own. Do you have any suggestions on how to get started with this?...

FastAPI/nginx deployment issues, virtual kernels not served correctly?

currently, my app is deployed in a FastAPI context with a load balancer (nginx). however, it appears to be mismanaging the virtual kernels (i.e. somehow users get into other user's state), or it seems to restore them somehow from a previous virtual kernel as an example, a user cannot open two tabs of the app or refresh the page -- it seems to just break it entirely, and sometimes plots/etc will just appear out of nowhere. could you give me some further insight into deploying the app so i can avoid these issues?...

inputText label position

I am wondering whether it is possible to display the label next to the input field rather than on top of it. Also how would I style font color etc of the label. New to solara and just trying to figure this out

CSV file as input?

Is there a way to input using FileDrop (or any other way) a CSV file and use it?

Console error rendering markdown links in `solara.Markdown`

import solara
solara.Markdown("[a link](https://www.google.com)")
import solara
solara.Markdown("[a link](https://www.google.com)")
This code produces the following stack trace in the Chrome dev console:...
Next