Registry / web-framework / solara

solara

JSON →
library1.57.4pypypi✓ verified 90d ago

Solara is an open-source Python library designed to simplify building reactive web applications using ipywidgets and a React-like API. It allows developers to create sophisticated data apps that run seamlessly both within Jupyter Notebooks and as standalone web applications, leveraging frameworks like FastAPI or Starlette. Solara is currently on version 1.57.3 and maintains an active release cadence with frequent updates and bug fixes.

pip install solara
INSTALL
IMPORT
SIG · SOLARA
S
solara
web-frameworkpythonv1.57.4
Install
16.2s avg
Import
4280ms
Disk
253MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.9–3.13
musl
3.9–3.13
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
musl
py 3.10–3.920 runs
installs and imports cleanly · install 0.0s · import 4.375s · 264.5MB
glibc
py 3.10–3.920 runs
installs and imports cleanly · install 16.2s · import 4.185s · 244MB
253MB installed
● package 253MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

solara
✓ import solara
Primary import for all Solara components and functions.

This quickstart demonstrates a simple interactive Solara application with reactive state. It includes a text input and a slider, with dynamic feedback based on word count. Save this as a `.py` file (e.g., `app.py`) and run it using `solara run app.py` from your terminal. For Jupyter Notebooks, append `Page()` to display the component.

import solara sentence = solara.reactive("Solara makes our team more productive.") word_limit = solara.reactive(10) @solara.component def Page(): word_count = len(sentence.value.split()) solara.SliderInt("Word limit", value=word_limit, min=2, max=20) solara.InputText(label="Your sentence", value=sentence, continuous_update=True) if word_count >= int(word_limit.value): solara.Error(f"With {word_count} words, you passed the word limit of {word_limit.value}.") elif word_count >= int(0.8 * word_limit.value): solara.Warning(f"With {word_count} words, you are close to the word limit of {word_limit.value}.") else: solara.Success("Great short writing!") # To run this in a .py file from the command line: `solara run your_app.py` # To run this in a Jupyter Notebook cell, add the following line at the end: # Page()
solara --version
Debug
Known issues
breakingSolara dropped support for Python 3.7. Applications running on Python 3.7 will not be compatible with Solara versions 1.56.0 and higher.
fix
Upgrade your Python environment to 3.8 or newer.
affects: >=1.56.0
gotchaWhen defining state, `solara.reactive()` creates global, per-session state, while `solara.use_state()` creates component-specific local state. Using `solara.reactive()` for local component state can lead to unexpected behavior across multiple instances of the same component.
fix
Use `solara.reactive()` for application-wide or session-wide state. Use `solara.use_state()` within components for local, isolated state.
affects: All
gotchaWhen running Solara applications directly in a Jupyter Notebook cell, you must explicitly call the main `@solara.component` (typically `Page`) at the end of the cell (e.g., `Page()`) for it to render. This is not necessary when running with `solara run`.
fix
Add `Page()` (or the name of your main component function) as the last line in the Jupyter Notebook cell containing your Solara app code.
affects: All
breakingA security fix (CVE-2026-24008) for a path traversal vulnerability in `path_is_child_of` was implemented. Older versions may be vulnerable.
fix
Upgrade Solara to version 1.57.2 or higher to address the path traversal vulnerability.
affects: <1.57.2
gotchaSolara server in Docker environments may fail to start if the `$HOME` environment variable is not set or points to a non-writable directory, even if a bug fix for this was implemented in v1.50.1.
fix
Ensure the `$HOME` environment variable is set to a writable directory within your Docker container or development environment.
affects: All
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'solara'
The Solara library has not been installed in the current Python environment.
fix
Run `pip install solara` to install the library.
RuntimeError in BaseSettings iteration
This error can occur in Solara versions prior to 1.55.0 when running with Python 3.14 due to compatibility issues with `BaseSettings`.
fix
Upgrade Solara to version 1.55.0 or higher. `pip install --upgrade solara`
Solara app not rendering in Jupyter Notebook
The main component function (e.g., `Page`) was not explicitly called at the end of the Jupyter cell.
fix
Add `Page()` at the end of the Jupyter Notebook cell to render the Solara application.
Upgrade
Version history
1.57.4latest on PyPI · released May 14, 2026
Audit
Dependencies
ipywidgetsrequiredCore UI component foundation.
solara-serverrequiredRequired for running standalone Solara applications outside Jupyter.
FastAPIoptionalCommon backend for standalone Solara applications.
StarletteoptionalAlternative backend for standalone Solara applications.
Agent activity
48 hits · last 30 days
node
46
OpenAI (training)
1
Resources
solara — pip install solara · libregistry