{"library":"solara","title":"Solara","type":"library","description":"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.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install solara"],"cli":{"name":"solara","version":""}},"imports":["import solara"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":"https://solara.dev","github":null,"docs":"https://solara.dev","changelog":null,"pypi":"https://pypi.org/project/solara/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"import solara\n\nsentence = solara.reactive(\"Solara makes our team more productive.\")\nword_limit = solara.reactive(10)\n\n@solara.component\ndef Page():\n    word_count = len(sentence.value.split())\n    solara.SliderInt(\"Word limit\", value=word_limit, min=2, max=20)\n    solara.InputText(label=\"Your sentence\", value=sentence, continuous_update=True)\n\n    if word_count >= int(word_limit.value):\n        solara.Error(f\"With {word_count} words, you passed the word limit of {word_limit.value}.\")\n    elif word_count >= int(0.8 * word_limit.value):\n        solara.Warning(f\"With {word_count} words, you are close to the word limit of {word_limit.value}.\")\n    else:\n        solara.Success(\"Great short writing!\")\n\n# To run this in a .py file from the command line: `solara run your_app.py`\n# To run this in a Jupyter Notebook cell, add the following line at the end:\n# Page()","lang":"python","description":"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.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"1.57.4","pypi_latest":"1.57.4","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":16.1,"avg_import_s":4.27,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"solara","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":4.03,"mem_mb":46.6,"disk_size":"258.5M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"solara","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":16.9,"import_time_s":3.28,"mem_mb":46.6,"disk_size":"239M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"solara","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":5.6,"mem_mb":50.2,"disk_size":"275.4M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"solara","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":16.4,"import_time_s":5.44,"mem_mb":50.2,"disk_size":"255M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"solara","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":4.63,"mem_mb":49.2,"disk_size":"261.0M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"solara","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":14,"import_time_s":4.7,"mem_mb":49.2,"disk_size":"244M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"solara","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":4.4,"mem_mb":50.6,"disk_size":"260.6M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"solara","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":14.5,"import_time_s":4.54,"mem_mb":50.6,"disk_size":"243M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"solara","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.12,"mem_mb":46.6,"disk_size":"238.5M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"solara","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":18.6,"import_time_s":2.95,"mem_mb":46.6,"disk_size":"221M"}]}}