Solara: A Pure Python, React-style Framework for Scaling Your Data Apps
2023-08-16 , HS 120

Solara is a pure Python web framework designed to scale complex applications. Leveraging a React-like API, Solara offers the scalability, component-based coding, and simple state management that have made React a standard for large web applications. Solara uses a pure Python implementation of React, Reacton, to create ipywidgets-based applications that work both in the Jupyter Notebook environment and as standalone web apps with frameworks like FastAPI. This talk will explore the design principles of Solara, illustrate its potential with case studies and live examples, and provide resources for attendees to incorporate Solara into their own projects. Whether you're a researcher developing interactive visualizations or a data scientist building complex web applications, Solara provides a Python-centric solution for scaling your projects effectively.


Python's growing prominence in the scientific community has led to a demand for more sophisticated and scalable web applications. While several Python web frameworks exist, most are designed for smaller data applications or employ paradigms that haven't proven their scalability for larger projects.

In this talk, we introduce Solara, a pure Python web framework developed to address this gap. Solara employs a React-like API, leveraging the scalability, component-based code, and simple state management principles that have made React a go-to for large-scale web applications.

Our framework uses a pure Python implementation of React, named Reacton, to create applications based on ipywidgets. These applications function both within the Jupyter Notebook environment and as standalone web apps in conjunction with frameworks like FastAPI. By building atop ipywidgets, we harness an existing ecosystem of widgets and support a range of platforms, including JupyterLab, Jupyter Notebook, Voila, Google Colab, DataBricks, and JetBrains Datalore.

We'll explore the design principles of Solara, the benefits of a React-like approach in Python, and demonstrate its potential through case studies and live examples. Our goal is to showcase how Solara can help the Python scientific community develop more robust and scalable web applications, thereby expanding the reach and potential of their work.

Attendees will leave with an understanding of Solara's capabilities and potential applications, as well as resources to begin exploring its utility in their own projects. Whether you're a researcher seeking to develop interactive visualizations or a data scientist looking to build complex web applications, Solara offers a Python-centric solution to scale your projects effectively.


Expected audience expertise: Domain:

none

Expected audience expertise: Python:

some

Abstract as a tweet:

Solara: A Pure Python, React-style Frame work for Scaling Your Web Apps. Designed for complex apps, Solara offers simple state management & component based UIs

Category [Data Science and Visualization]:

Data Analysis and Data Engineering

Public link to supporting material:

https://solara.dev

Project Homepage / Git:

https://github.com/widgetti/solara/

Maarten Breddels is an entrepreneur and ex-scientist mainly working with Python, C++, and Javascript in the Jupyter ecosystem. He is the creator of Solara, ipyvolume, and Vaex and Co-founder of Widgetti. His expertise includes fast numerical computation, API design, 3D visualization, and building data apps. He has a Bachelor's in ICT, a Master's, and Ph.D. in Astronomy, and he likes to solve real problems.