Skip to content

Frequently asked questions

Should I use Vizro-AI or Vizro-MCP?

Dashboard generation in Vizro-AI has largely been replaced by Vizro-MCP. Starting with version 0.4.0, Vizro-AI only supports chart generation, but is based on Pydantic AI and supports async execution, streaming, dependency injection, and integration with the A2A protocol.

For dashboard generation, we recommend using Vizro-MCP, which can be used without an API key. Vizro-MCP works within familiar development environments like VS Code, Cursor, or Claude Desktop, for ease of us

Who works on Vizro-AI?

Current team members

Alexey Snigir, Antony Milne, Dan Dumitriu, Huong Li Nguyen, Jo Stichbury, Joseph Perkins, Lingyi Zhang, Maximilian Schulz, Nadija Graca, Petar Pejovic, Stephanie Kaiser.

With thanks to Sam Bourton and Stephen Xu for sponsorship, inspiration and guidance, plus everyone else who helped to test, guide, support and encourage development.

Which large language models are supported by vizro-ai?

Vizro-AI uses Pydantic AI for LLM integration and supports models from multiple vendors including OpenAI, Anthropic, Google, and Mistral. Refer to supported models in vizro-ai docs for details.

Can I use async/streaming with chart_agent?

Yes! Since chart_agent is a Pydantic AI agent, you can use all Pydantic AI features including async execution, streaming, and event handling. See the advanced options guide for examples.

Migration guide for versions prior to 0.4.0?

Changes to VizroAI

Various method names and the overall API structure have been changed in version 0.4.0. The VizroAI class has been deprecated in favor of the chart_agent for chart generation. Where possible, we have retained the deprecated methods with their old names to help ease migration, but calling them will emit deprecation warnings and raise RuntimeError.

Vizro-AI < 0.4.0 Vizro-AI ≥ 0.4.0
VizroAI.plot() chart_agent.run_sync()
VizroAI.dashboard() Vizro-MCP or Agent skills
VizroAI(model=model) chart_agent.run_sync(model=model, ...)
Synchronous only chart_agent.run_sync() (sync) or chart_agent.run() (async)
result_model.get_fig_object(df) result_model.chart_function(df)
not possible to pass kwargs to the chart function result_model.chart_function(df, **kwargs) (if the chart function accepts kwargs)
result_model.get_fig_object(..., vizro=True) result_model.vizro_chart_function(...)
result_model.get_fig_object(..., chart_name="...") result_model.get_chart_function(chart_name="...", vizro=True/False)(df)

Why do I get RuntimeError: This event loop is already running in Jupyter Notebooks?

This error occurs due to conflicts between Jupyter's event loop and Pydantic AI's event loop. To fix this, add the following two lines at the beginning of your notebook:

import nest_asyncio
nest_asyncio.apply()

This fix also applies to Google Colab and Marimo. For more information, see the Pydantic AI troubleshooting guide.