Pin ipyvue<1.12.0 to fix maplibre in Google Colab#1311
Conversation
ipyvue 1.12.0 was published to PyPI but the corresponding jupyter-vue 1.12.0 npm package was never published. This causes a 404 when Colab's widget manager tries to load the JS from jsdelivr CDN, breaking all ipyvuetify-based widgets. Upstream issue: widgetti/ipyvue#105
There was a problem hiding this comment.
Pull request overview
Pins ipyvue to avoid broken MapLibre widgets in Google Colab caused by an ipyvue 1.12.0 / missing jupyter-vue@1.12.0 npm release mismatch.
Changes:
- Add
ipyvue<1.12.0torequirements.txt(base dependencies). - Add
ipyvue<1.12.0to themaplibreoptional-dependency extra inpyproject.toml.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| requirements.txt | Adds an upper-bound pin for ipyvue in the project’s base install requirements. |
| pyproject.toml | Adds the same ipyvue pin to the maplibre extra dependencies. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| pmtiles = ["pmtiles", "flask", "flask-cors"] | ||
| ai = ["geopandas", "osmnx", "localtileserver>=0.10.4", "rastervision", "pytorch-lightning", "torchgeo"] | ||
| maplibre = ["anywidget", "geopandas", "fiona", "h3", "ipyvuetify", "localtileserver", "mapclassify", "maplibre>=0.3.1", "pmtiles", "rioxarray", "xarray"] | ||
| maplibre = ["anywidget", "geopandas", "fiona", "h3", "ipyvue<1.12.0", "ipyvuetify", "localtileserver", "mapclassify", "maplibre>=0.3.1", "pmtiles", "rioxarray", "xarray"] |
There was a problem hiding this comment.
ipyvue<1.12.0 is now specified both in the base dependencies (requirements.txt) and again in the maplibre extra. Since [tool.setuptools.dynamic].dependencies already pulls in requirements.txt for every install (including leafmap[maplibre]), this duplication is redundant and creates a risk of the two constraints drifting. Prefer keeping the constraint in a single place (either base deps or the extra), and add a short comment pointing to the upstream issue so it’s clear when the pin can be removed.
| maplibre = ["anywidget", "geopandas", "fiona", "h3", "ipyvue<1.12.0", "ipyvuetify", "localtileserver", "mapclassify", "maplibre>=0.3.1", "pmtiles", "rioxarray", "xarray"] | |
| # Note: ipyvue version is pinned in requirements.txt due to an upstream ipyvue<1.12.0 compatibility issue. | |
| # Do not repeat the pin here; keep it centralized in requirements.txt so it can be updated in one place. | |
| maplibre = ["anywidget", "geopandas", "fiona", "h3", "ipyvuetify", "localtileserver", "mapclassify", "maplibre>=0.3.1", "pmtiles", "rioxarray", "xarray"] |
|
🚀 Deployed on https://69beef926f2ab0844cde4c35--opengeos.netlify.app |
Summary
ipyvue<1.12.0inrequirements.txtandpyproject.tomlmaplibre extras to fix broken maplibre widgets in Google Colabipyvue 1.12.0was published to PyPI but the correspondingjupyter-vue@1.12.0npm package was never published, causing a 404 when Colab loads widget JS from jsdelivr CDNRelated
Test plan
!pip install leafmap[maplibre]and verifypip show ipyvuereturns version < 1.12.0import leafmap.maplibregl as maplibre; m = maplibre.Map(); mand confirm the map renders without widget errors