README.md
Working with data is hard for two simple reasons:
Data Formulator provides one visual workspace for exploring and analyzing data:
https://github.com/user-attachments/assets/8e4f8a08-6423-4227-a1f7-559e0126ce31
[!TIP] Love the charts? They're built on Flint. It's an open-source visualization language that compiles compact chart specs into polished visualizations.
[08-15-2026] Data Formulator 0.8 beta 1 (0.8.0b1) introduces:
Preview with
pip install --pre data_formulator==0.8.0b1oruvx [email protected]. Install the latest stable release (0.7) withpip install data_formulatoror run instantly withuvx data_formulator.
See the changelog for release details.
Here are milestones that lead to the current design:
DataAgent + Data Thread, refine 30+ chart types (semantic chart engine powered by Flint) with a style-refinement agent, and share as reports. Plus persistent sessions & workspaces and a multilingual (English/Chinese) UI.uvx data_formulator or uv pip install data_formulatorData Formulator is a Microsoft Research project for data exploration with visualizations powered by AI agents. It combines UI interactions with natural language so analysts can communicate intent, branch into alternative analyses, and share results — starting from any data format (screenshot, text, CSV, or database).
Play with Data Formulator with one of the following options.
CI builds self-contained Windows and macOS applications for pull requests and
every update to main. Download the latest archives from the Artifacts
section of the most recent
desktop builds workflow.
Workflow artifacts are retained for 30 days. Tagged builds are also attached
as permanent downloads to the corresponding
GitHub Release.
Extract the archive, then launch Data Formulator using the instructions for your operating system:
Data Formulator.exe. If Microsoft Defender SmartScreen
appears, select More info, verify that you downloaded the archive from
this repository, and then select Run anyway.Data Formulator.app to Applications. The first time you
open it, macOS may report that Apple could not verify the app. Open
System Settings → Privacy & Security, scroll to Security, and select
Open Anyway for Data Formulator. Confirm by selecting Open when
prompted.[!WARNING] These are automated preview builds and are not currently code-signed or notarized. Only bypass the operating-system warning when the archive was downloaded directly from this repository's workflow artifacts or releases.
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_formulator
Run uvx data_formulator --help to 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+C or run docker compose down.
Option 4: Working as developer
You can build Data Formulator locally and develop your own version. Check out details in DEVELOPMENT.md.
Start with the data you already have: upload CSV, TSV, Excel, JSON, screenshots, or text; connect to databases and data platforms; or ask the analyst to find and load the data you need. The analyst can discover sources, clarify your request, propose a loading plan, and let you review the data before adding it to the workspace.
Continue the conversation in the Data Thread. Ask questions in natural language and follow the reasoning through explanations, tables, and editable charts in one history. Refine a result directly, branch from any earlier step to explore an alternative, or delegate the next investigation to the analyst. When the analysis is ready, compose the results into a report to share.
https://github.com/user-attachments/assets/164aff58-9f93-4792-b8ed-9944578fbb72
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 [email protected] with any additional questions or comments.
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.