| Only Python | Vinyl is built for Python developers and data scientists. It’s as pythonic as possible, and can integrate with your existing Python codebase. No SQL or Jinja templates required. |
| Cross-dialect | Vinyl supports multiple SQL dialects under the hood and can be used with many data warehouses with the same code. You can use DuckDB at first and switch to Snowflake or BigQuery as you scale, or even preview your data locally. |
| Federated | Vinyl can be used to query multiple data sources at once, including data warehouses, data lakes, local files, and even existing DBT projects. Importing data sources is dramatically easier than with existing data modeling frameworks. |
| Built for metrics | Vinyl includes powerful abstractions for time series operations. Metrics are deeply integrated into the framework and have syntax that closely mirrors basic aggregation. No need to learn javascript or specialized Jinja syntax. |
| Column-aware | Vinyl objects carry far more context than just the data they represent, including schema and column lineage information. Users simply annotate their sources, and Vinyl can automatically infer join columns, cascade down documentation, mask PII, and more. |
| End-to-end | Vinyl provides a single framework for data analysis, data transformation, and semantic modeling. You can use Vinyl for almost any data task without relying on another tool or framework. |
| Available anywhere | Vinyl allows you to publish your models and queries to any BI tool – even in your product – using a simple postgres or REST API. |
| Built for AI | Vinyl is designed to work with AI. At first, you will be able to use AI transforms seamlessly in your pipeline. In the near future, MIDI will be able to automate analytics tasks. The features described above are good for humans, but also are designed to enable dramatically better AI experiences than today’s Text-to-SQL bots. |