Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Data Formulator icon  Data Formulator: AI-powered Data Visualization

🪄 Explore data with visualizations, powered by AI agents.

Try Online Demo   Install Locally

PyPILicense: MITYouTubebuildDiscord

Why Data Formulator?

Working with data is hard for two simple reasons:

  1. Data lives everywhere. Connecting agents to files, databases, warehouses, and BI tools takes time. It is even harder when agents start answering before the relationships between data sources are clear.
  2. Questions evolve as you explore. Each answer can lead to follow-up questions, comparisons, and new directions. A long chat history makes it hard to see where you are and how you got there.

Data Formulator provides one visual workspace for exploring and analyzing data:

  1. Data connectors give agents a common way to connect to different data sources and maintains a data memory to remember the relationships between them.
  2. Data Threads let you branch into different questions, compare paths, and use visualizations to discover deeper insights without losing context.

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.

News 🔥🔥🔥

[08-15-2026] Data Formulator 0.8 beta 1 (0.8.0b1) introduces:

  • One unified flow: load data, ask questions, review results, and branch in the Data Thread.
  • More data sources: use files, local folders, databases, and platforms such as Databricks.
  • Better charts: explore more Flint-powered charts, recommendations, themes, and styling tools.

Preview with pip install --pre data_formulator==0.8.0b1 or uvx data_formulator@0.8.0b1. Install the latest stable release (0.7) with pip install data_formulator or run instantly with uvx data_formulator.

See the changelog for release details.

Previous Updates

Here are milestones that lead to the current design:

  • v0.7 (05-28-2026): Turn ANY data into insights in five steps — connect governed data sources, load via agents, explore with the unified 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.
  • v0.6 (Demo): Real-time insights from live data — connect to URLs and databases with automatic refresh
  • uv support: Faster installation with uvuvx data_formulator or uv 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 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).

Get Started

Play with Data Formulator with one of the following options.

Desktop downloads

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:

  • Windows: Run 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.
  • macOS: Move 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.

Using Data Formulator

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

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

data_formulator-0.8.0b1.tar.gz (14.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

data_formulator-0.8.0b1-py3-none-any.whl (14.6 MB view details)

Uploaded Python 3

File details

Details for the file data_formulator-0.8.0b1.tar.gz.

File metadata

  • Download URL: data_formulator-0.8.0b1.tar.gz
  • Upload date:
  • Size: 14.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for data_formulator-0.8.0b1.tar.gz
Algorithm Hash digest
SHA256 af3b1db164bacc087ea03d5d7c05efc10e215a1364ba6602641dba1b35b77f12
MD5 7b44282073ff0eb8dc90c6ff856ed1db
BLAKE2b-256 446f370a0b384df71c2ca2e87b93a34283001346369629d62424d7263fcd6b47

See more details on using hashes here.

Provenance

The following attestation bundles were made for data_formulator-0.8.0b1.tar.gz:

Publisher: python-build.yml on microsoft/data-formulator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file data_formulator-0.8.0b1-py3-none-any.whl.

File metadata

File hashes

Hashes for data_formulator-0.8.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 2c2df535720362460dcb2e1956e0d166556e162671f8fc34f09d86fae8dd76a1
MD5 9249b0d06dfbe569bce626906ad6b94f
BLAKE2b-256 70500f910df92f4e90f152fb82369d6d138fb8ab74288a31a641f715e6ecba1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for data_formulator-0.8.0b1-py3-none-any.whl:

Publisher: python-build.yml on microsoft/data-formulator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page