Data Formulator is research protoype data visualization tool powered by AI.
Project description
Data Formulator: AI-powered Data Visualization
🪄 Explore data with visualizations, powered by AI agents.
News 🔥🔥🔥
[05-11-2026] Data Formulator 0.7 (alpha 2) — A new chapter for AI-powered data exploration
- 🔌 Data connectors — first-class persistent connection to Superset, Kusto, Cosmos DB, MySQL, PostgreSQL, MSSQL, S3, Azure Blob, BigQuery, and more, with SSO, lazy catalog loading, search, and smart filters.
- 💬 Conversational agent with thread memory — a unified
DataAgentthat weaves explanation, exploration, visualization, and recommendation into one fluid conversation, carrying context across turns so the agent stays in sync with your train of thought. - 🗂️ Persistent session & workspace management — identity-isolated workspaces with local and Azure Blob backends; sessions persist across restarts with timestamps and sort.
- 📊 Expressive visualization — 30+ chart types via a new semantic chart engine (area, streamgraph, candlestick, pie, radar, maps, …), plus a chart style-refinement agent that turns rough charts into presentation-ready visuals: restyle in one click, refine typography, color, layout, and annotations through natural language.
- 📚 Knowledge distillation (experimental) — agents distill reusable skills and experiences from your sessions into a shared knowledge library that informs future sessions.
Install the pre-release with
pip install --pre data-formulatoror pin==0.7.0a2.
[!TIP] Are you a developer? Join us to shape the future of AI-powered data exploration! We're looking for help with new agents, data connectors, chart templates, and more. Check out the Developers' Guide and our open issues.
Previous Updates
Here are milestones that lead to the current design:
- v0.6 (Demo): Real-time insights from live data — connect to URLs and databases with automatic refresh
- uv support: Faster installation with uv —
uvx data_formulatororuv pip install data_formulator - v0.5.1 (Demo): Community data loaders, US Map & Pie Chart, editable reports, snappier UI
- v0.5: Vibe with your data, in control — agent mode, data extraction, reports
- v0.2.2 (Demo): Goal-driven exploration with agent recommendations and performance improvements
- v0.2.1.3/4 (Readme | Demo): External data loaders (MySQL, PostgreSQL, MSSQL, Azure Data Explorer, S3, Azure Blob)
- v0.2 (Demos): Large data support with DuckDB integration
- v0.1.7 (Demos): Dataset anchoring for cleaner workflows
- v0.1.6 (Demo): Multi-table support with automatic joins
- Model Support: OpenAI, Azure, Ollama, Anthropic via LiteLLM (feedback)
- Python Package: Easy local installation (try it)
- Visualization Challenges: Test your skills (challenges)
- Data Extraction: Parse data from images and text (demo)
- Initial Release: Blog | Video
Overview
Data Formulator is a Microsoft Research prototype for data exploration with visualizations powered by AI agents.
Data Formulator enables analysts to explore data with visualizations. Started with data in any format (screenshot, text, csv, or database), you can work with AI agents with a novel blended interface that combines user interface interactions (UI) and natural language (NL) inputs to communicate their intents, control branching exploration directions, and create reports to share their insights.
Get Started
Play with Data Formulator with one of the following options.
-
Option 1: Install via uv (recommended)
uv is an extremely fast Python package manager. If you have uv installed, you can run Data Formulator directly without any setup:
uvx data_formulatorRun
uvx data_formulator --helpto see all available options, such as custom port, sandboxing mode, and data storage location. -
Option 2: Install via pip
Use pip for installation (recommend: install it in a virtual environment).
pip install data_formulator # install python -m data_formulator # run
Data Formulator will be automatically opened in the browser at http://localhost:5567.
-
Option 3: Run with Docker
docker compose up --build
Open http://localhost:5567 in your browser. To stop, press
Ctrl+Cor rundocker compose down. -
Option 4: Codespaces
You can run Data Formulator in Codespaces; we have everything pre-configured. For more details, see CODESPACES.md.
-
Option 5: Working as developer
You can build Data Formulator locally and develop your own version. Check out details in DEVELOPMENT.md.
Using Data Formulator
Besides uploading csv, tsv or xlsx files that contain structured data, you can ask Data Formulator to extract data from screenshots, text blocks or websites, or load data from databases use connectors. Then you are ready to explore. Ask visualizaiton questions, edit charts, or delegate some exploration tasks to agents. Then, create reports to share your insights.
https://github.com/user-attachments/assets/164aff58-9f93-4792-b8ed-9944578fbb72
Research Papers
@article{wang2024dataformulator2iteratively,
title={Data Formulator 2: Iteratively Creating Rich Visualizations with AI},
author={Chenglong Wang and Bongshin Lee and Steven Drucker and Dan Marshall and Jianfeng Gao},
year={2024},
booktitle={ArXiv preprint arXiv:2408.16119},
}
@article{wang2023data,
title={Data Formulator: AI-powered Concept-driven Visualization Authoring},
author={Wang, Chenglong and Thompson, John and Lee, Bongshin},
journal={IEEE Transactions on Visualization and Computer Graphics},
year={2023},
publisher={IEEE}
}
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file data_formulator-0.7.0a2.tar.gz.
File metadata
- Download URL: data_formulator-0.7.0a2.tar.gz
- Upload date:
- Size: 13.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1dccb1c321022f0a7134c46a5bde74a18202bafd238bfffc52c2329474a6a9f
|
|
| MD5 |
4e9bea784c85924fda3681bb7e2832d4
|
|
| BLAKE2b-256 |
d5574987207605d7bb6c3b565b4554440737ce2be93d322b3c7d13d944d4d16e
|
Provenance
The following attestation bundles were made for data_formulator-0.7.0a2.tar.gz:
Publisher:
python-build.yml on microsoft/data-formulator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
data_formulator-0.7.0a2.tar.gz -
Subject digest:
d1dccb1c321022f0a7134c46a5bde74a18202bafd238bfffc52c2329474a6a9f - Sigstore transparency entry: 1517075104
- Sigstore integration time:
-
Permalink:
microsoft/data-formulator@410996a7e1bc6348d30c0cefa14a84cd377bb5a8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/microsoft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-build.yml@410996a7e1bc6348d30c0cefa14a84cd377bb5a8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file data_formulator-0.7.0a2-py3-none-any.whl.
File metadata
- Download URL: data_formulator-0.7.0a2-py3-none-any.whl
- Upload date:
- Size: 14.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ee4400b8f53cdfa9eb07ad0a8976e63d019500dd14e466b06dcfcbf20e465b7
|
|
| MD5 |
25df25a58442ccdc2f4395b0e3f71f70
|
|
| BLAKE2b-256 |
6ddf67c3cfab498793ace1cf3a920bee847012d188a6d0ef4a0a95eefe71247e
|
Provenance
The following attestation bundles were made for data_formulator-0.7.0a2-py3-none-any.whl:
Publisher:
python-build.yml on microsoft/data-formulator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
data_formulator-0.7.0a2-py3-none-any.whl -
Subject digest:
7ee4400b8f53cdfa9eb07ad0a8976e63d019500dd14e466b06dcfcbf20e465b7 - Sigstore transparency entry: 1517075698
- Sigstore integration time:
-
Permalink:
microsoft/data-formulator@410996a7e1bc6348d30c0cefa14a84cd377bb5a8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/microsoft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-build.yml@410996a7e1bc6348d30c0cefa14a84cd377bb5a8 -
Trigger Event:
push
-
Statement type: