Registry / web-framework / ipyvue

ipyvue

JSON →
library1.12.0pypypi✓ verified 84d ago

ipyvue is a Python library that provides a Jupyter widget base for building interactive applications using Vue.js. It allows developers to create custom Jupyter widgets with Vue.js templates and data reactivity. The library is actively maintained with frequent minor releases addressing bug fixes and introducing new features, currently at version 1.12.0.

pip install ipyvue
INSTALL
IMPORT
SIG · IPYVUE
I
ipyvue
web-frameworkpythonv1.12.0
Install
5.3s avg
Import
1902ms
Disk
81MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.12.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
installs and imports cleanly · install 0.0s · import 2.007s · 89MB
glibc
py 3.103.920 runs
installs and imports cleanly · install 5.3s · import 1.797s · 90MB
81MB installed
● package 81MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

VueTemplate
from ipyvue import VueTemplate

This example defines a simple Jupyter widget using `ipyvue.VueTemplate`. It renders a 'Hello, [name]!' message and an input field to update the 'name' data property reactively. The `template` property holds the Vue.js template, and `data` provides initial reactive properties.

from ipyvue import VueTemplate from IPython.display import display class HelloWorld(VueTemplate): template = """ <template> <div>Hello, {{ name }}!</div> <input v-model="name" placeholder="Enter your name"> </template> """ data = { 'name': 'World' } widget = HelloWorld() display(widget) # In a Jupyter notebook/Lab cell, 'widget' on the last line # would implicitly display it without 'display()'.
Debug
Known issues
gotchaPrior to v1.11.2, a data value of `0` (integer zero) was incorrectly transformed into an empty object (`{}`) when passed from Python to Vue, leading to unexpected behavior in templates.
fix
Upgrade to ipyvue v1.11.2 or newer. If stuck on an older version, explicitly cast `0` to a string or another distinct non-object type if it causes issues.
affects: <1.11.2
gotchaBefore v1.11.1, templates that were empty or had their `<template>` tags on a single line or omitted could cause rendering errors in some environments.
fix
Upgrade to ipyvue v1.11.1 or newer. Ensure your Vue templates are well-formed with distinct `<template>` start and end tags on separate lines and contain valid content.
affects: <1.11.1
gotchaIn versions prior to v1.11.0, the `v_model` directive in Vue templates could not be set or updated after the initial render of the component. Changes to the Python-side data bound to `v_model` would not propagate to the frontend.
fix
Upgrade to ipyvue v1.11.0 or newer to enable dynamic `v_model` updates. For older versions, ensure `v_model` is only used for initial binding and state changes are handled via event listeners and direct data manipulation.
affects: <1.11.0
gotchaStarting with v1.10.0, ipyvue began sending all serializable event data (e.g., key presses, mouse clicks) with events. If your code on older versions relied on a limited subset of event data, this change might expose more data than expected.
fix
Review event handlers to ensure they correctly process potentially richer event data payloads. No direct fix needed if richer data is acceptable, but be aware of the change in data structure.
affects: >=1.10.0
Errors
Common errors & fixes
Error displaying widget: model not found
The JavaScript frontend extension for ipyvue is not properly installed or enabled in the Jupyter environment, preventing the Python backend model from finding its corresponding frontend rendering logic. The browser console might show 'Failed to load model class 'XModel' from module 'jupyter-vue''.
fix
Ensure ipyvue is installed and its Jupyter extensions are enabled. After `pip install ipyvue`, run `jupyter nbextension enable --py --sys-prefix ipyvue` for Jupyter Notebook, or for JupyterLab (version 3+ typically handles this automatically), if issues persist, you might need `jupyter labextension install @jupyter-widgets/jupyterlab-manager` and potentially `jupyter labextension install jupyter-vue` if not automatically resolved. Restart your Jupyter kernel and browser page.
ModuleNotFoundError: No module named 'ipyvue'
The 'ipyvue' Python package is not installed in the active Python environment or the environment where Jupyter is running.
fix
Install the package using pip: `pip install ipyvue`.
Unknown dependency jupyter-vue
This issue typically arises in environments like Google Colab where the Jupyter widget manager struggles to correctly load or resolve the 'jupyter-vue' JavaScript module, which is the frontend component of ipyvue.
fix
Enable the custom widget manager in Google Colab and ensure `ipyvue` (and any dependent libraries like `ipyvuetify`) are installed within the Colab environment:
```python
from google.colab import output
output.enable_custom_widget_manager()
!pip install ipyvue ipyvuetify # include ipyvuetify if you are using it
```
Module not found: Error: Can't resolve 'de-indent' in .../@mariobuikhuizen/vue-compiler-addon/dist
This error occurs during the `jupyter lab build` process, indicating a missing or unresolvable JavaScript dependency required by ipyvue's frontend assets or a related package like `@mariobuikhuizen/vue-compiler-addon`. This can be due to a corrupted `node_modules` cache or an issue with the build environment.
fix
Clear the JupyterLab extensions cache by removing the relevant tarball and then rebuild JupyterLab:
```bash
rm -rf /path/to/your_env/share/jupyter/lab/extensions/jupyter-vue-*.tgz
jupyter lab build
```
(Adjust `/path/to/your_env` to your specific Python environment's prefix or system installation).
Upgrade
Version history
1.12.0latest on PyPI · released Feb 11, 2026
Audit
Dependencies
ipywidgetsrequiredipyvue builds on top of ipywidgets for its Jupyter integration and widget framework.
Agent activity
6 hits · last 30 days
node
6
Resources
ipyvue — pip install ipyvue · libregistry