flint-chart  by microsoft

AI-powered visualization language for creating expressive charts

Created 1 month ago
352 stars

Top 78.9% on SourcePulse

GitHubView on GitHub
Project Summary

Flint addresses the complexity of AI-driven chart generation by providing an intermediate visualization language. It enables AI agents and developers to create expressive, polished charts from simple, human-editable specifications, abstracting away intricate configuration details like scales and layout. The primary benefit is reliable, high-quality chart creation with a human-editable output, supporting multiple rendering backends.

How It Works

Flint functions as a compiler, translating compact chart specifications into backend-native formats. It leverages semantic types (e.g., 'Quantity', 'Country') to understand data meaning and employs automatic layout algorithms that adapt sizing, spacing, and visual elements to data cardinality and constraints. This approach allows for a single input specification to be rendered across diverse charting libraries like Vega-Lite, ECharts, and Chart.js, offering flexibility and reducing the need for manual tuning.

Quick Start & Requirements

Install the JavaScript/TypeScript library via npm install flint-chart. For agents using the MCP server, run npx -y flint-chart-mcp. A Python port is available as a source-only preview, with a package release planned. Node.js 18+ is required for development and running the demo site. Key resources include the Flint Project Site and the live editor.

Highlighted Details

  • Semantic Chart Specs: Utilizes over 70 semantic types to enrich data understanding and drive intelligent chart generation.
  • Automatic Layout & Styling: Dynamically adjusts chart elements, including sizing, spacing, labels, and marks, based on data and context.
  • Multi-Backend Compilation: Generates native specifications for Vega-Lite, ECharts, and Chart.js from a single input, supporting 30+ chart types.
  • Agent Integration: The flint-chart-mcp server facilitates chart creation, validation, and rendering directly within AI agent conversations.

Maintenance & Community

The project welcomes contributions and adheres to the Microsoft Open Source Code of Conduct. Specific community channels or notable contributors are not detailed in the README.

Licensing & Compatibility

Flint is released under the permissive MIT license, making it suitable for commercial use and integration into closed-source projects without significant restrictions.

Limitations & Caveats

The Python port is currently a source-only preview and not yet available as a published package. Further details on platform support or potential alpha/beta status are not explicitly stated.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
30
Issues (30d)
2
Star History
351 stars in the last 30 days

Explore Similar Projects

Starred by Dan Abramov Dan Abramov(Core Contributor to React; Coauthor of Redux, Create React App), Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera), and
6 more.

semiotic by nteract

0.3%
3k
React data visualization framework for complex charts and networks
Created 9 years ago
Updated 22 hours ago
Feedback? Help us improve.