Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
aa66962
feat: Vuetify3 support
mariobuikhuizen Oct 31, 2023
8261746
build: sort components and properties in the generated code
mariobuikhuizen Nov 1, 2023
bd1d6d9
build: use latest node LTS version
mariobuikhuizen Nov 1, 2023
6b2721d
feat: keep same module structure for generated python code
mariobuikhuizen Nov 1, 2023
c6a6a60
chore: bump version 1.8.10 -> 3.0.0.dev0
mariobuikhuizen Nov 1, 2023
779a18b
chore: require ipyvue>=3.0.0.dev0
maartenbreddels Nov 1, 2023
223a424
chore: update reacton component
maartenbreddels Nov 1, 2023
3222e6c
chore: format code with new line width
maartenbreddels Nov 1, 2023
1762285
fix: typo pm->npm
maartenbreddels Nov 1, 2023
1d257e1
temp: install solara from branch
maartenbreddels Nov 1, 2023
d671636
docs: make example notebooks work
mariobuikhuizen Nov 1, 2023
1ca08b5
temp: install ipyvue from branch
maartenbreddels Nov 1, 2023
a899daf
fix: no need for special nodeps view
maartenbreddels Nov 2, 2023
7507cbb
feat: reintroduce vueRender so we can keep the templates the same
mariobuikhuizen Nov 8, 2023
47c9934
chore: use new prepend-icon prop of vuetify3 in ui-tests
mariobuikhuizen Nov 9, 2023
fff8818
build: use correct cli param in ui-tests
mariobuikhuizen Nov 9, 2023
0671582
build: accept the small change in rendering for ui-tests
mariobuikhuizen Nov 9, 2023
294c9b1
build: accept visual change in ui-test
mariobuikhuizen Nov 13, 2023
c13edb7
feat: add theme support
mariobuikhuizen Nov 15, 2023
8a34218
chore: remove commented-out code, update js model versions
mariobuikhuizen Nov 17, 2023
68ec709
chore: release v3.0.0.alpha1
mariobuikhuizen Nov 17, 2023
89b6355
build: use correct version in pypackage.toml and add dry-run
mariobuikhuizen Nov 20, 2023
9318fb3
fix: relax ipyvue version constraint a bit
mariobuikhuizen Nov 28, 2023
88c7571
chore: bump ipyvue version
mariobuikhuizen Nov 28, 2023
7729f01
chore: release v3.0.0.alpha2
mariobuikhuizen Nov 28, 2023
42763c7
chore: add build all script
iisakkirotko Feb 24, 2025
7f6b697
feat: scope vuetify styles with :where
iisakkirotko Feb 24, 2025
e8ab3a0
feat: export Vue and Vuetify
iisakkirotko Feb 24, 2025
8436834
chore: bump external actions
iisakkirotko Feb 24, 2025
f6d533e
chore: use jupyter-vue version 3
iisakkirotko Feb 24, 2025
0cf25cc
chore: pin pytest-playwright
iisakkirotko Feb 24, 2025
4ec64c1
chore: move test runners to ubuntu-22.04
iisakkirotko Feb 25, 2025
a1e8c94
chore: update officially supported Python versions to 3.6-3.13
iisakkirotko Feb 27, 2025
cea273c
fix: revert css extraction (#332)
iisakkirotko Feb 27, 2025
9fc0af9
fix: ensure correct styles are excluded from scoping
iisakkirotko Feb 27, 2025
5b30b83
chore: release v3.0.0.alpha3
mariobuikhuizen Feb 28, 2025
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
2 changes: 2 additions & 0 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ values =
[bumpversion:file:js/package.json]

[bumpversion:file:docs/conf.py]

[bumpversion:file:js/src/VuetifyWidget.js]
99 changes: 62 additions & 37 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,28 @@ on:

jobs:
lint:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- uses: pre-commit/action@v3.0.0
- uses: pre-commit/action@v3.0.1

build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
# https://github.com/webpack/webpack/issues/14532
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 16.x

- name: install build
run: python -m pip install build

node-version: 18.x
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install "reacton[generate]" ipyvue
pip install "reacton[generate]" ipyvue "jupyterlab<4" build

- name: build wheel
run: python -m build
Expand All @@ -43,83 +38,113 @@ jobs:
cp ipyvuetify/components.py ipyvuetify/components-previous.py
python -m ipyvuetify.components
diff ipyvuetify/components.py ipyvuetify/components-previous.py

- name: Package js
run: (cd js && npm pack)
- name: Upload build artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ipyvuetify-dist-${{ github.run_number }}
path: |
./dist
./js/*.tgz

- name: Upload components
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ipyvuetify-components-${{ github.run_number }}
path: |
./ipyvuetify/components.py

test:
needs: [lint, build]
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: ipyvuetify-dist-${{ github.run_number }}
- name: Install ipyvuetify
run: python -m pip install "$(find dist -name *.whl)"
run: |
pip install jupyter_core jupyter-packaging "jupyterlab<4"
python -m pip install https://github.com/widgetti/ipyvue/archive/refs/heads/vue3.zip "$(find dist -name *.whl)"
- name: test import
run: (mkdir test-install; cd test-install; python -c "from ipyvuetify import Btn")

ui-test:
needs: [lint, build]
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: ipyvuetify-dist-${{ github.run_number }}
- name: Install ipyvuetify
run: python -m pip install "$(find dist -name *.whl)[test]"
run: |
pip install jupyter_core jupyter-packaging "jupyterlab<4"
python -m pip install https://github.com/widgetti/ipyvue/archive/refs/heads/vue3.zip "$(find dist -name *.whl)[test]"
- name: Install chromium
run: playwright install chromium
- name: Run ui-tests
run: pytest tests/ui/ --video=retain-on-failure --solara-update-snapshots-ci -s
run: pytest tests/ui/ --video=retain-on-failure -s
- name: Upload Test artifacts
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ipyvuetify-test-results
path: test-results

release-dry-run:
needs: [test]
runs-on: ubuntu-22.04
steps:
- uses: actions/download-artifact@v4
with:
name: ipyvuetify-dist-${{ github.run_number }}

- name: Install node
uses: actions/setup-node@v4
with:
node-version: "18.x"
registry-url: "https://registry.npmjs.org"
# No --dry-run available for twine
# - name: Publish the Python package
- name: Publish the NPM package
run: |
cd js
echo $PRE_RELEASE
if [[ $PRE_RELEASE == "true" ]]; then export TAG="next"; else export TAG="latest"; fi
npm publish --dry-run --tag ${TAG} --access public *.tgz
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
PRE_RELEASE: ${{ github.event.release.prerelease }}

release:
if: startsWith(github.event.ref, 'refs/tags/v')
needs: [test]
runs-on: ubuntu-20.04
needs: [release-dry-run]
runs-on: ubuntu-22.04
steps:
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: ipyvuetify-dist-${{ github.run_number }}

- name: Install node
uses: actions/setup-node@v1
uses: actions/setup-node@v4
with:
node-version: "14.x"
node-version: "18.x"
registry-url: "https://registry.npmjs.org"

- name: Install Python
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: 3.8

Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ dist/
build/

# generated code
generate_source/build
generate_source/vuetify
ipyvuetify/generated
js/src/generated

Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
project = "ipyvuetify"
copyright = f"2019-{datetime.now().year}, Mario Buikhuizen"
author = "Mario Buikhuizen"
release = "1.8.10"
release = "3.0.0.dev0"

# -- General configuration ---------------------------------------------------

Expand Down
41 changes: 22 additions & 19 deletions examples/Examples template.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -23,26 +23,27 @@
" items = List(['red', 'green', 'purple']).tag(sync=True)\n",
" button_text = Unicode('menu').tag(sync=True)\n",
" template = Unicode('''\n",
" <template>\n",
" <v-layout>\n",
" <v-menu offset-y>\n",
" <template v-slot:activator=\"{ on }\">\n",
" <v-btn\n",
" :color=\"color\"\n",
" class=\"white--text\"\n",
" v-on=\"on\">\n",
" {{ button_text }}\n",
" </v-btn>\n",
" </template>\n",
" <v-list>\n",
" <v-list-item\n",
" <v-btn\n",
" :color=\"color\"\n",
" class=\"white--text\"\n",
" >\n",
" {{ button_text }}\n",
" <v-menu activator=\"parent\" offset-y>\n",
" <v-list>\n",
" <v-list-item\n",
" v-for=\"(item, index) in items\"\n",
" :key=\"index\"\n",
" @click=\"menu_click(index)\">\n",
" <v-list-item-title>{{ item }}</v-list-item-title>\n",
" </v-list-item>\n",
" </v-list>\n",
" </v-menu>\n",
" </v-layout>''').tag(sync=True)\n",
" @click=\"menu_click(index)\"\n",
" >\n",
" <v-list-item-title>{{ item }}</v-list-item-title>\n",
" </v-list-item>\n",
" </v-list>\n",
" </v-menu>\n",
" </v-btn>\n",
" </v-layout>\n",
" </template>''').tag(sync=True)\n",
" \n",
" \n",
" def vue_menu_click(self, data):\n",
Expand All @@ -69,10 +70,12 @@
" \n",
" items = Any(['a', 'b']).tag(sync=True)\n",
" template = Unicode('''\n",
" <template>\n",
" <v-layout column>\n",
" <myselect/>\n",
" <v-select :items=\"items\"/>\n",
" </v-layout>\n",
" </template>\n",
"''').tag(sync=True)\n",
" \n",
" \n",
Expand Down Expand Up @@ -161,8 +164,8 @@
" data = data.reset_index()\n",
" self.index_col = data.columns[0]\n",
" headers = [{\n",
" \"text\": col,\n",
" \"value\": col\n",
" \"title\": col,\n",
" \"key\": col\n",
" } for col in data.columns]\n",
" headers[0].update({'align': 'left', 'sortable': True})\n",
" self.headers = headers\n",
Expand Down
Loading