Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f4eb219
feat: add support for ipyvuetify 3
mariobuikhuizen Jun 2, 2026
fe39627
don't publish dev-wheels for now
mariobuikhuizen Jun 2, 2026
8006558
fix: remaining Vuetify 3 props
mariobuikhuizen Jun 3, 2026
7b3a095
ci: accept new screenshots
mariobuikhuizen Jun 3, 2026
94defc9
fix: avoid making mounted Vue widget components reactive
mariobuikhuizen Jun 9, 2026
1125bc7
CI: fix tests
mariobuikhuizen Jun 15, 2026
a6689b5
fix website style issues 1
mariobuikhuizen Jun 18, 2026
a8ad73e
fix: checkbox Vuetify 3 compatibility
mariobuikhuizen Jun 18, 2026
b77d7e7
fix: use same color for filebrowser icons as in Vuetify 2
mariobuikhuizen Jun 18, 2026
dcdd1e6
fix: active-color doesn't exist any more
mariobuikhuizen Jun 18, 2026
d4832e5
fix: prevent autofocus dialog mount crash
mariobuikhuizen Jun 18, 2026
d4e495d
fix: avoid KaTeX rendering inside embedded widgets
mariobuikhuizen Jun 22, 2026
c4dab1d
fix: this is not needed anymore after previous fix
mariobuikhuizen Jun 23, 2026
d917a3d
Bump version: 1.57.6 → 2.0.0a0
mariobuikhuizen Jul 2, 2026
a49f7c7
release dev wheels from this PR
mariobuikhuizen Jul 2, 2026
19762b0
fix: Avoid re-running live markdown examples on rerender
mariobuikhuizen Jul 6, 2026
9ba3e50
fix: make SliderValue compatible with Vuetify 3
mariobuikhuizen Jul 6, 2026
e07230c
fix: support Vuetify 3 value updates in ToggleButtons
mariobuikhuizen Jul 7, 2026
95cdfcc
fix: Vuetify 3 theme initialization in Solara
mariobuikhuizen Jul 10, 2026
e20a5a1
feat: upgrade to Vuetify 3.5
mariobuikhuizen Jul 10, 2026
5be13ae
chore: upgrade Vue to 3.5.39
mariobuikhuizen Jul 10, 2026
b783024
chore: upate to Vuetify version 3.12
mariobuikhuizen Jul 13, 2026
7611555
chore: Bump version: 2.0.0a0 → 2.0.0a1
mariobuikhuizen Jul 14, 2026
4083046
fix: preserve configured colors in per-kernel themes
mariobuikhuizen Jul 16, 2026
63f6130
chore: Bump version: 2.0.0a1 → 2.0.0a2
mariobuikhuizen Jul 16, 2026
dbceb2d
ci: release vuetify3-app asset as wheel
mariobuikhuizen Jul 21, 2026
6b2a23f
chore: Bump version: 2.0.0a2 → 2.0.0a3
mariobuikhuizen Jul 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 1.57.6
current_version = 2.0.0a3
commit = True
tag = True
parse = (?P<major>\d+)(\.(?P<minor>\d+))(\.(?P<patch>\d+))((?P<release>.)(?P<build>\d+))?
Expand All @@ -21,6 +21,8 @@ values =

[bumpversion:file:packages/solara-assets/solara_assets/__init__.py]

[bumpversion:file:packages/solara-vuetify3-app-assets/pyproject.toml]

[bumpversion:file:packages/solara-enterprise/solara_enterprise/__init__.py]

[bumpversion:file:packages/solara-enterprise/pyproject.toml]
Expand Down
6 changes: 3 additions & 3 deletions .github/pycafe-create-status.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ def increment():

artifact_name = "solara-builds" # name given in the GitHub Actions workflow file for the artifact

# your default requirements, the wheel version number (1.57.6) is bumped up for each new release using bump2version
# your default requirements, the wheel version number (2.0.0a3) is bumped up for each new release using bump2version
requirements = f"""solara
https://py.cafe/gh/artifact/{repo_name}/actions/runs/{run_id}/{artifact_name}/solara-1.57.6-py2.py3-none-any.whl
https://py.cafe/gh/artifact/{repo_name}/actions/runs/{run_id}/{artifact_name}/solara_ui-1.57.6-py2.py3-none-any.whl
https://py.cafe/gh/artifact/{repo_name}/actions/runs/{run_id}/{artifact_name}/solara-2.0.0a3-py2.py3-none-any.whl
https://py.cafe/gh/artifact/{repo_name}/actions/runs/{run_id}/{artifact_name}/solara_ui-2.0.0a3-py2.py3-none-any.whl
"""

# GitHub Python API
Expand Down
14 changes: 13 additions & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ jobs:
- name: Build solara-assets
run: (cd packages/solara-assets; hatch build)

- name: Build solara-vuetify3-app-assets
run: (cd packages/solara-vuetify3-app-assets; hatch build -t wheel)

- name: Build solara-server
run: (cd packages/solara-server; hatch build)

Expand All @@ -100,6 +103,7 @@ jobs:
path: |
dist
packages/solara-assets/dist
packages/solara-vuetify3-app-assets/dist
packages/solara-server/dist
packages/solara-meta/dist
packages/pytest-ipywidgets/dist
Expand Down Expand Up @@ -139,6 +143,13 @@ jobs:
--endpoint-url "$AWS_ENDPOINT_URL_S3" \
--region "$AWS_REGION"

aws s3 cp packages/solara-vuetify3-app-assets/dist/ "s3://${S3_BUCKET}/packages/solara-vuetify3-app-assets/" \
--recursive \
--exclude "*" \
--include "*.whl" \
--endpoint-url "$AWS_ENDPOINT_URL_S3" \
--region "$AWS_REGION"

aws s3 cp packages/pytest-ipywidgets/dist/ "s3://${S3_BUCKET}/packages/pytest-ipywidgets/" \
--recursive \
--exclude "*" \
Expand Down Expand Up @@ -573,7 +584,7 @@ jobs:
pip install "jupyterlab<4" "playwright==1.50.0" "pydantic<2" "ipywidgets~=${{ matrix.ipywidgets }}"
pip install pytest-retry
pip install jupyter_core jupyter-packaging
pip install --pre "ipyvuetify>=3.0.0a4"
pip install --pre "ipyvuetify>=3.0.0a5"
pip freeze --exclude solara --exclude solara-ui --exclude solara-server --exclude pytest-ipywidgets --exclude solara-enterprise > ${{ env.LOCK_FILE_LOCATION }}
git diff | tee ${{ env.DIFF_FILE_LOCATION }}
[ -s ${{ env.DIFF_FILE_LOCATION }} ] && echo "HAS_DIFF=true" >> "$GITHUB_OUTPUT" || echo "No dependencies changed"
Expand All @@ -587,6 +598,7 @@ jobs:
pip install `echo packages/pytest-ipywidgets/dist/*.whl`[all,ipywidgets${{ matrix.ipywidgets_major }}]
pip install `echo packages/solara-meta/dist/*.whl`[dev,documentation]
pip install `echo packages/solara-enterprise/dist/*.whl`[ssg,auth]
pip install --pre "ipyvuetify>=3.0.0a5"

- name: Install playwright
run: playwright install
Expand Down
6 changes: 3 additions & 3 deletions packages/pytest-ipywidgets/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ license = {file = "LICENSE"}
requires-python = ">=3.8"
classifiers = ["License :: OSI Approved :: MIT License"]
dynamic = ["description"]
version = "1.57.6"
version = "2.0.0a3"
dependencies = [
"solara-ui==1.57.6",
"solara-server[starlette]==1.57.6",
"solara-ui==2.0.0a3",
"solara-server[starlette]==2.0.0a3",
"pytest",
"playwright",
"pytest-playwright",
Expand Down
6 changes: 3 additions & 3 deletions packages/solara-assets/hatch_build.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
["requirejs", "2.3.6"],
["mermaid", "10.8.0"],
["codemirror", "5.65.3"],
["vega", "5.21.0"],
["vega-lite", "5.2.0"],
["vega-embed", "6.20.2"],
["vega", "6.2.0"],
["vega-lite", "6.4.3"],
["vega-embed", "7.1.0"],
["@widgetti/vue-grid-layout", "2.3.13-alpha.2"],
["@widgetti/solara-milkdown", "6.3.0"],
["echarts", "5.4.0"],
Expand Down
2 changes: 1 addition & 1 deletion packages/solara-assets/solara_assets/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"CDN assets for Solara"

__version__ = "1.57.6"
__version__ = "2.0.0a3"
4 changes: 2 additions & 2 deletions packages/solara-enterprise/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ requires-python = ">=3.8"
classifiers = ["License :: Free for non-commercial use"]
dynamic = ["version", "description"]
dependencies = [
"solara-ui==1.57.6",
"solara-server==1.57.6",
"solara-ui==2.0.0a3",
"solara-server==2.0.0a3",
]

[project.optional-dependencies]
Expand Down
2 changes: 1 addition & 1 deletion packages/solara-enterprise/solara_enterprise/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"Enterprise features for Solara"

__version__ = "1.57.6"
__version__ = "2.0.0a3"
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def Page():
if not children:
children = [solara.Button("logout", icon_name="mdi-logout", href=auth.get_logout_url(), text=True)]

with v.Menu(v_slots=[{"name": "activator", "children": activator, "variable": "x"}], offset_y=True) as menu:
with v.Menu(v_slots=[{"name": "activator", "children": activator, "variable": "x"}], location="bottom", offset="8") as menu:
with v.List():
for child in children:
with v.ListItem(children=[child]):
Expand Down
10 changes: 5 additions & 5 deletions packages/solara-meta/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ license = {file = "LICENSE"}
requires-python = ">=3.8"
classifiers = ["License :: OSI Approved :: MIT License"]
dynamic = ["description"]
version = "1.57.6"
version = "2.0.0a3"
packages = [
{ include = "solara" }
]
dependencies = [
"solara-ui[all]==1.57.6",
"solara-server[starlette,dev]==1.57.6"
"solara-ui[all]==2.0.0a3",
"solara-server[starlette,dev]==2.0.0a3"
]

[project.urls]
Expand All @@ -33,7 +33,7 @@ all = [
]

assets = [
"solara-assets==1.57.6"
"solara-assets==2.0.0a3"
]

documentation = [
Expand All @@ -55,7 +55,7 @@ documentation = [

# for backwards compatibility to support solara[pytest]
pytest = [
"pytest-ipywidgets[all]==1.57.6"
"pytest-ipywidgets[all]==2.0.0a3"
]

# for backwards compatibility to support solara[dev]
Expand Down
2 changes: 1 addition & 1 deletion packages/solara-server/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ authors = [{name = "Maarten A. Breddels", email = "maartenbreddels@gmail.com"}]
license = {file = "LICENSE"}
requires-python = ">=3.8"
classifiers = ["License :: OSI Approved :: MIT License"]
version = "1.57.6"
version = "2.0.0a3"
dynamic = ["description"]
dependencies = [
"solara-ui",
Expand Down
4 changes: 4 additions & 0 deletions packages/solara-vuetify3-app-assets/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/cdn/
/dist/
__pycache__/
*.pyc
18 changes: 18 additions & 0 deletions packages/solara-vuetify3-app-assets/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# solara-vuetify3-app-assets

This data-only companion wheel contains the prebuilt
`@widgetti/solara-vuetify3-app` frontend. It installs the bundle into
`share/solara/cdn`, where Solara's local CDN handler can serve it without
downloading the npm package from a public CDN.

Build the frontend first, then build this package:

```shell
(cd ../solara-vuetify3-app && npm run build)
hatch build -t wheel
```

The Python distribution version tracks the Solara release. The embedded CDN
directory independently tracks the frontend version from
`../solara-vuetify3-app/package.json`. This wheel is built from the Solara
monorepo and intentionally does not publish a standalone source distribution.
27 changes: 27 additions & 0 deletions packages/solara-vuetify3-app-assets/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[build-system]
requires = ["hatchling==1.26.3"]
build-backend = "hatchling.build"

[project]
name = "solara-vuetify3-app-assets"
version = "2.0.0a3"
description = "Prebuilt Vuetify 3 frontend assets for Solara"
readme = "README.md"
authors = [{name = "Maarten A. Breddels", email = "maartenbreddels@gmail.com"}]
license = {text = "MIT"}
requires-python = ">=3.8"
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
]

[project.urls]
Home = "https://www.github.com/widgetti/solara"

[tool.hatch.build.targets.wheel]
bypass-selection = true
include = ["share/solara/cdn/**"]

[tool.hatch.build.targets.wheel.shared-data]
"../solara-vuetify3-app/dist" = "share/solara/cdn/@widgetti/solara-vuetify3-app@5.0.2/dist"
"../solara-vuetify3-app/package.json" = "share/solara/cdn/@widgetti/solara-vuetify3-app@5.0.2/package.json"
2 changes: 2 additions & 0 deletions packages/solara-vuetify3-app/.bumpversion.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ message = Bump version solara-vuetify3-app: {current_version} → {new_version}
[bumpversion:file:../../release.sh]

[bumpversion:file:../solara-assets/hatch_build.py]

[bumpversion:file:../solara-vuetify3-app-assets/pyproject.toml]
Loading
Loading