solara 1.57.3


pip install solara

  Latest version

Released: Feb 24, 2026


Meta
Author: Maarten A. Breddels
Requires Python: >=3.8

Classifiers

License
  • OSI Approved :: MIT License

A Pure Python, React-style Framework for Scaling Your Jupyter and Web Apps

solara logo

Come chat with us on Discord to ask questions or share your thoughts or creations!

Discord Shield

Introducing Solara

While there are many Python web frameworks out there, most are designed for small data apps or use paradigms unproven for larger scale. Code organization, reusability, and state tend to suffer as apps grow in complexity, resulting in either spaghetti code or offloading to a React application.

Solara addresses this gap. Using a React-like API, we don't need to worry about scalability. React has already proven its ability to support the world's largest web apps.

Solara uses a pure Python implementation of React (Reacton), creating ipywidget-based applications. These apps work both inside the Jupyter Notebook and as standalone web apps with frameworks like FastAPI. This paradigm enables component-based code and incredibly simple state management.

By building on top of ipywidgets, we automatically leverage an existing ecosystem of widgets and run on many platforms, including JupyterLab, Jupyter Notebook, Voilà, Google Colab, DataBricks, JetBrains Datalore, and more.

We care about developer experience. Solara will give your hot code reloading and type hints for faster development.

Installation

Run:

pip install solara

Or follow the Installation instructions for more detailed instructions.

First script

Put the following Python snippet in a file (we suggest sol.py), or put it in a Jupyter notebook cell:

import solara

# Declare reactive variables at the top level. Components using these variables
# will be re-executed when their values change.
sentence = solara.reactive("Solara makes our team more productive.")
word_limit = solara.reactive(10)


@solara.component
def Page():
    # Calculate word_count within the component to ensure re-execution when reactive variables change.
    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)

    # Display messages based on the current word count and word limit.
    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!")


# The following line is required only when running the code in a Jupyter notebook:
Page()

Run from the command line in the same directory where you put your file (sol.py):

$ solara run sol.py
Solara server is starting at http://localhost:8765

Or copy-paste this to a Jupyter notebook cell and execute it (the Page() expression at the end will cause it to automatically render the component in the notebook).

See this snippet run live at https://solara.dev/documentation/getting_started

Demo

The following demo app can be used to explore a dataset (build in or upload yourself) using a scatter plot. The plot can be interacted with to filter the dataset, and the filtered dataset can be downloaded.

Running in solara-server

The solara server is build on top of Starlette/FastAPI and runs standalone. Ideal for production use.

fastapi

Running in Jupyter

By building on top of ipywidgets, we automatically leverage an existing ecosystem of widgets and run on many platforms, including JupyterLab, Jupyter Notebook, Voilà, Google Colab, DataBricks, JetBrains Datalore, and more. This means our app can also run in Jupyter:

jupyter

Resources

Visit our main website or jump directly to the introduction

Introduction Quickstart

Note that the solara.dev website is created using Solara

1.57.3 Feb 24, 2026
1.57.2 Feb 03, 2026
1.57.1 Jan 21, 2026
1.57.0 Jan 20, 2026
1.56.0 Dec 22, 2025
1.55.1 Dec 05, 2025
1.55.0 Dec 01, 2025
1.54.0 Oct 24, 2025
1.53.0 Oct 23, 2025
1.52.0 Oct 17, 2025
1.51.1 Aug 20, 2025
1.51.0 Aug 05, 2025
1.50.1 Jul 15, 2025
1.50.0 Jul 04, 2025
1.49.0 Jun 19, 2025
1.48.0 May 30, 2025
1.47.0 Apr 30, 2025
1.46.0 Apr 25, 2025
1.45.0 Apr 15, 2025
1.44.1 Feb 18, 2025
1.44.0 Jan 29, 2025
1.43.0 Dec 19, 2024
1.42.0 Dec 05, 2024
1.41.0 Oct 28, 2024
1.40.0 Oct 15, 2024
1.39.0 Aug 30, 2024
1.38.0 Aug 28, 2024
1.37.2 Aug 21, 2024
1.37.1 Aug 02, 2024
1.37.0 Aug 01, 2024
1.36.0 Jul 23, 2024
1.35.1 Jul 11, 2024
1.35.0 Jul 10, 2024
1.34.1 Jul 05, 2024
1.34.0 Jul 03, 2024
1.33.0 Jun 06, 2024
1.32.2 May 13, 2024
1.32.1 May 01, 2024
1.32.0 Apr 22, 2024
1.31.0 Apr 08, 2024
1.30.1 Apr 03, 2024
1.30.0 Mar 27, 2024
1.29.1 Mar 12, 2024
1.29.0 Mar 11, 2024
1.28.0 Feb 23, 2024
1.27.0 Feb 16, 2024
1.26.1 Feb 10, 2024
1.26.0 Feb 09, 2024
1.25.1 Jan 03, 2024
1.25.0 Dec 01, 2023
1.24.0 Nov 24, 2023
1.23.0 Nov 17, 2023
1.22.0 Oct 17, 2023
1.21.0 Oct 10, 2023
1.20.0 Oct 02, 2023
1.19.0 Jul 20, 2023
1.18.0 Jul 11, 2023
1.17.5 Jun 24, 2023
1.17.4 Jun 24, 2023
1.17.3 Jun 23, 2023
1.17.2 Jun 19, 2023
1.17.1 Jun 19, 2023
1.17.0 Jun 19, 2023
1.16.3 Jun 12, 2023
1.16.2 Jun 05, 2023
1.16.1 Jun 05, 2023
1.16.0 Jun 01, 2023
1.15.0 May 26, 2023
1.14.0 May 23, 2023
1.13.0 May 17, 2023
1.12.0 Apr 24, 2023
1.11.0 Apr 20, 2023
1.10.0 Mar 31, 2023
1.9.0 Mar 30, 2023
1.8.2 Mar 16, 2023
1.8.1 Mar 15, 2023
1.8.0 Mar 10, 2023
1.7.1 Mar 08, 2023
1.7.0 Feb 24, 2023
1.6.1 Feb 21, 2023
1.6.0 Feb 15, 2023
1.5.0 Feb 14, 2023
1.4.0 Feb 08, 2023
1.3.0 Feb 01, 2023
1.2.1 Jan 27, 2023
1.2.0 Jan 27, 2023
1.1.1 Jan 13, 2023
1.1.0 Jan 13, 2023
1.0.3 Jan 09, 2023
1.0.2 Jan 06, 2023
1.0.1 Jan 06, 2023
1.0.0 Jan 06, 2023
0.19.1 Dec 09, 2022
0.19.0 Dec 08, 2022
0.18.3 Nov 23, 2022
0.18.2 Nov 23, 2022
0.18.1 Nov 23, 2022
0.18.0 Nov 21, 2022
0.17.0 Nov 11, 2022
0.16.0 Oct 28, 2022
0.15.0 Oct 28, 2022
0.14.0 Oct 24, 2022
0.13.0 Oct 15, 2022
0.12.1 Oct 12, 2022
0.12.0 Oct 10, 2022
0.11.0 Sep 29, 2022
0.10.4 Sep 23, 2022
0.10.3 Sep 23, 2022
0.10.2 Sep 23, 2022
0.10.1 Sep 22, 2022
0.10.0 Sep 22, 2022
0.9.1 Aug 26, 2022
0.9.0 Aug 26, 2022
0.8.1 Aug 01, 2022
0.8.0 Aug 01, 2022
0.7.0 Jul 21, 2022
0.5.2 Jun 28, 2022
0.5.1 Jun 27, 2022
0.5.0 Jun 24, 2022
0.5.0a0 Jun 24, 2022
0.4.3a4 Jun 24, 2022
0.4.1 Jun 15, 2022
0.4.0 Jun 15, 2022
0.3.0 Jun 07, 2022
0.2.0 May 31, 2022
0.1.2 May 23, 2022
0.1.1 May 20, 2022
0.1.0 May 20, 2022
0.0.6 May 16, 2022
0.0.5 May 03, 2022
0.0.4 Apr 08, 2022
0.0.3 Apr 04, 2022
0.0.2 Apr 02, 2022
0.0.1 Apr 02, 2022

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras:
Dependencies:
solara-server[starlette,dev] (==1.57.3)
solara-ui[all] (==1.57.3)