Your data has stories; this library writes the code to tell them
Microsoft's LIDA uses LLMs to generate, execute, and repair visualization code across any plotting library you already use.

What it does LIDA is a Python library that treats visualizations as code. Point it at a CSV, and it summarizes the data, suggests visualization goals, generates executable plotting code (matplotlib, seaborn, altair, D3, etc.), then can edit, explain, evaluate, or repair that code using natural language. It also bundles an optional web UI and API.
The interesting bit The “visualizations as code” framing is the key architectural bet. Because LIDA generates and executes actual code rather than static images, you can iterate on charts with plain-English instructions like “convert this to a bar chart” or “translate the title to French.” It also evaluates its own output and attempts self-repair when plots break.
Key highlights
- Grammar-agnostic: works with matplotlib, seaborn, ggplot, altair, D3, or others
- Multi-provider LLM support: OpenAI, Azure OpenAI, PaLM, Cohere, HuggingFace, plus local models via vLLM
- Includes evaluation and repair loop; paper claims <3.5% error rate on 2200+ generated visualizations
- Optional bundled web UI and REST API via
lida ui --port=8080 - Infographic generation (beta) using Stable Diffusion through peacasso
- ACL 2023 demo paper with reproducible methodology
Caveats
- Generates and executes arbitrary code; the README explicitly warns to run in a secure environment
- Best suited for datasets with ≤10 columns due to LLM context limits
- Smaller open-source LLMs struggle with instruction following; GPT-3.5/4 recommended
- Infographic generation marked experimental; requires separate dependency install
Verdict Worth a look if you build data tools, dashboards, or notebook workflows and want users to create charts without learning plotting APIs. Less compelling if you need production-grade reliability today or work with wide, messy tables that need heavy preprocessing first.