Install & Compatibility
Where this runs
tested against v1.57.4 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.960 runs
installs and imports cleanly · install 0.0s · import 0.000s · 264.5MB
glibcpy 3.10–3.960 runs
installs and imports cleanly · install 13.3s · import 0.000s · 244MB
253MB installed
● package 253MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
run
✓ from solara.server import run
✗ from solara.server import run
This quickstart demonstrates a simple Solara application with a reactive counter. Save the code as `sol.py` and run it using the `solara run` command, which starts the Solara Server.
import solara
clicks = solara.reactive(0)
@solara.component
def Page():
def increase_clicks():
clicks.value += 1
solara.Button(label=f"Clicked {clicks} times", on_click=increase_clicks)
# To run this application, save it as `sol.py` and execute `solara run sol.py` in your terminal.
solara-server --version
Debug
Known issues
breakingSolara 2.0 (planned release end of year) introduces significant changes to reactive state management, including default state mutation detection and altered behavior for reactive variables in boolean comparisons. These changes can be enabled in Solara >= 1.41.0/1.42.0 via environment variables but will be default in 2.0.fixReview the Solara 2.0 roadmap and documentation for details on reactive state management changes. Enable `SOLARA_STORAGE_MUTATION_DETECTION=1` or `SOLARA_ALLOW_REACTIVE_BOOLEAN=0` in current versions to test compatibility.
affects: >=1.41.0 (for opt-in), 2.0 (default)
breakingIntegration with Starlette 1.0 is currently broken as `Starlette.__init__()` no longer accepts `on_startup` or `on_shutdown` arguments.fixPin your Starlette version to `<1.0.0` or wait for Solara to release a compatible update.
affects: Solara versions attempting to use Starlette 1.0
gotchaSolara Server collects anonymous usage telemetry by default using Mixpanel. This tracks server start/stop and daily unique users/connections.fixTo opt-out, set the environment variable `SOLARA_TELEMETRY_MIXPANEL_ENABLE` to `False` or include it in a `.env` file if `python-dotenv` is installed.
affects: All versions
gotchaWhen running Solara applications within Jupyter environments, a common issue is a mismatch between the Python environment of the notebook server and the kernel, leading to UI components not loading correctly (e.g., missing Javascript libraries for `ipyvue`, `ipyvuetify`).fixEnsure `ipyvue` and `ipyvuetify` (and `solara`) are installed in the *same* Python environment that both your Jupyter notebook server and the kernel are using. You may need to inspect the `!ps aux | grep jupyter` output to identify the server's Python executable.
affects: All versions when used with Jupyter
gotchaSolara Server keeps virtual kernels alive for 24 hours after a WebSocket disconnection by default (e.g., browser tab closed or computer hibernates). While useful for re-establishing connections, it can consume memory.fixCustomize the kernel expiration duration by setting the `SOLARA_KERNEL_CULL_TIMEOUT` environment variable (e.g., `SOLARA_KERNEL_CULL_TIMEOUT=1m` for 1 minute).
affects: All versions
Upgrade
Version history
1.57.4latest on PyPI · released May 14, 2026
Audit
Dependencies
solararequiredSolara Server runs Solara applications; the `solara` package provides the UI components and core application logic.
ipywidgetsrequiredSolara is built on ipywidgets, and Solara Server executes these widget-based applications.
starletteoptionalOptional backend for embedding Solara Server into existing Starlette applications.
flaskoptionalOptional backend for embedding Solara Server into existing Flask applications.