Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
15 changes: 0 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,9 +137,6 @@ vw.config(mode="premium", model="openrouter")
# or
vw.config(model="openai/gpt-5.1-codex")
vw.config(model="anthropic/claude-opus-4.5")

# View available models
vw.models()
```

---
Expand Down Expand Up @@ -295,18 +292,6 @@ vw.config(
)
```

### `models()`

View available models.

```python
vw.models() # Show defaults and pinned models
vw.models(show="all") # Show all available models
vw.models(verbose=False) # Quiet mode
```

---

## How It Works

```
Expand Down
45 changes: 22 additions & 23 deletions examples/cross_widget_interactions.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,7 @@
"import pandas as pd\n",
"import numpy as np\n",
"import os\n",
"\n",
"vw.models()"
"\n"
]
},
{
Expand Down Expand Up @@ -373,7 +372,7 @@
"id": "f2a9bb66",
"metadata": {},
"source": [
"## Example 2: 2D Terrain Painter 3D Landscape\n",
"## Example 2: 2D Terrain Painter \u2192 3D Landscape\n",
"\n",
"This is one of the coolest examples! We'll create:\n",
"1. **2D Canvas**: Paint terrain height with your mouse (exports `heightmap`)\n",
Expand Down Expand Up @@ -457,7 +456,7 @@
"text": [
"\n",
"3D Landscape viewer created and linked!\n",
"Paint on canvas See in 3D instantly\n"
"Paint on canvas \u2192 See in 3D instantly\n"
]
}
],
Expand All @@ -479,7 +478,7 @@
")\n",
"\n",
"print(\"\\n3D Landscape viewer created and linked!\")\n",
"print(\"Paint on canvas See in 3D instantly\")"
"print(\"Paint on canvas \u2192 See in 3D instantly\")"
]
},
{
Expand All @@ -506,7 +505,7 @@
"version_minor": 0
},
"text/plain": [
"VBox(children=(Label(value='Simulate 2000 raindrops eroding the terrain:'), Button(description='🌧️ Simulate Ra"
"VBox(children=(Label(value='Simulate 2000 raindrops eroding the terrain:'), Button(description='\ud83c\udf27\ufe0f Simulate Ra\u2026"
]
},
"metadata": {},
Expand All @@ -521,7 +520,7 @@
"\n",
"def simulate_erosion(b):\n",
" \"\"\"Simulate hydraulic erosion on the terrain\"\"\"\n",
" btn.description = \"🌧️ Raining...\"\n",
" btn.description = \"\ud83c\udf27\ufe0f Raining...\"\n",
" btn.disabled = True\n",
" \n",
" # Get current heightmap\n",
Expand Down Expand Up @@ -569,11 +568,11 @@
" grid = np.clip(grid, 0.0, 1.0)\n",
" painter.heightmap = grid.flatten().tolist()\n",
" \n",
" btn.description = \"🌧️ Simulate Rain Erosion\"\n",
" btn.description = \"\ud83c\udf27\ufe0f Simulate Rain Erosion\"\n",
" btn.disabled = False\n",
"\n",
"btn = widgets.Button(\n",
" description=\"🌧️ Simulate Rain Erosion\",\n",
" description=\"\ud83c\udf27\ufe0f Simulate Rain Erosion\",\n",
" layout=widgets.Layout(width='100%', height='50px'),\n",
" style={'button_color': '#4488ff'}\n",
")\n",
Expand Down Expand Up @@ -771,7 +770,7 @@
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 21 columns</p>\n",
"<p>5 rows \u00d7 21 columns</p>\n",
"</div>"
],
"text/plain": [
Expand Down Expand Up @@ -863,8 +862,8 @@
"output_type": "stream",
"text": [
"\n",
"🪐 3D Solar system created!\n",
"🖱️ Click planets to select them\n"
"\ud83e\ude90 3D Solar system created!\n",
"\ud83d\uddb1\ufe0f Click planets to select them\n"
]
}
],
Expand Down Expand Up @@ -963,7 +962,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Click planets in 3D See highlighted in chart\n"
"Click planets in 3D \u2192 See highlighted in chart\n"
]
}
],
Expand All @@ -984,7 +983,7 @@
")\n",
"\n",
"\n",
"print(\"Click planets in 3D See highlighted in chart\")"
"print(\"Click planets in 3D \u2192 See highlighted in chart\")"
]
},
{
Expand All @@ -1009,9 +1008,9 @@
"```\n",
"\n",
"The AI uses your description to:\n",
"- Generate code that updates this trait\n",
"- Choose the right data type (array, string, object, etc.)\n",
"- Set up event listeners to keep it synchronized\n",
"- \u2705 Generate code that updates this trait\n",
"- \u2705 Choose the right data type (array, string, object, etc.)\n",
"- \u2705 Set up event listeners to keep it synchronized\n",
"\n",
"### Imports\n",
"\n",
Expand All @@ -1028,17 +1027,17 @@
"```\n",
"\n",
"The AI generates code that:\n",
"- Listens for changes to the imported trait\n",
"- Updates the visualization when the trait changes\n",
"- Handles the trait data appropriately\n",
"- \u2705 Listens for changes to the imported trait\n",
"- \u2705 Updates the visualization when the trait changes\n",
"- \u2705 Handles the trait data appropriately\n",
"\n",
"### Bidirectional Linking\n",
"\n",
"Vibe Widget uses **traitlets** under the hood to create bidirectional links:\n",
"\n",
"```\n",
"Widget A (exports) ←→ Widget B (imports)\n",
" trait change automatically updated\n",
"Widget A (exports) \u2190\u2192 Widget B (imports)\n",
" \u2193 trait change \u2191 automatically updated\n",
"```\n",
"\n",
"This means changes flow automatically in both directions!"
Expand Down Expand Up @@ -1243,7 +1242,7 @@
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 23 columns</p>\n",
"<p>5 rows \u00d7 23 columns</p>\n",
"</div>"
],
"text/plain": [
Expand Down
6 changes: 2 additions & 4 deletions src/vibe_widget/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from vibe_widget.core import VibeWidget, create, clear, ComponentReference
from vibe_widget.api import export, exports, imports, ExportHandle
from vibe_widget.config import config, Config, models
from vibe_widget.themes import Theme, theme, themes
from vibe_widget.config import config, Config
from vibe_widget.themes import Theme, theme

__version__ = "0.1.0"
__all__ = [
Expand All @@ -11,10 +11,8 @@
"ComponentReference",
"config",
"Config",
"models",
"Theme",
"theme",
"themes",
"export",
"exports",
"imports",
Expand Down
Loading