# Emolysis > Emolysis is the agentic lakehouse for data engineering and analytics. Direct a team of agents from your laptop to investigate business questions, develop dashboards, and build and test pipelines for your data platform. An entire data team. One download. Made by Bandpey GmbH. Underneath is a local-first coding agent: it picks one of ten pipeline shapes, fills a template written for your platform, proves it with golden tests on DuckDB on your machine, and only then deploys it to Databricks, with Snowflake and Microsoft Fabric planned. Status: in private development; early access by invitation; nothing is released yet. Status: Emolysis is in private development. Nothing is released yet: there is no download, no public release and no release date. Early access is by invitation, requested through the form on the request-access page, and accounts open with it. The descriptions below are in the present tense, as the product is; this status applies to all of them, and each platform carries its own status (in development, planned). The sample dashboard on the site runs on synthetic data. Data handling, as designed: to write code, the agent sends prompts to the AI model provider you choose, and a prompt can include table and column names, schemas and sample values from your data. With your own model key, prompts go to that provider under your key and its terms. With a paid plan's included usage or usage credits (on Enterprise, metered usage), prompts and responses pass through Emolysis's metering service on the way to the model provider; that service is designed not to store or log their content. Platform credentials stay on your machine, in its credential store. A dashboard leaves your machine when you publish it, and only then. Markdown versions: every docs page, FAQ answer, glossary term, news post and tutorial, the home page, the about page, the founder page and the page for AI agents are also published as Markdown at the page's URL plus .md (the home page at /index.md), and the page's own URL answers with the same Markdown when requested with Accept: text/markdown. The content links below point to them. ## About Emolysis - [About Emolysis](https://emolysis.com/about): Emolysis is the agentic lakehouse for data engineering and analytics, a product of Bandpey GmbH in Munich, Germany. Emolysis puts a team of agents at your direction from your laptop: to investigate business questions, develop dashboards, and build and test pipelines for your data platform. Underneath is a local-first coding agent that builds data pipelines from tested templates for ten pipeline shapes, proves them with golden tests on DuckDB on your machine and deploys them to Databricks, with Snowflake and Microsoft Fabric planned, and turns a business question into a gold table and a shared dashboard. Status: in private development; nothing is released yet. - [About Emolysis (Markdown)](https://emolysis.com/about.md): The about page as Markdown: what Emolysis is, why, principles and status. ## Company: Bandpey GmbH - [Bandpey GmbH](https://bandpey.com): Bandpey GmbH is a German data and AI services company in Munich. It works with enterprises in retail, telecommunications, energy, financial services, manufacturing and pharma, from data infrastructure and platform architecture to data science, MLOps and generative AI, and it makes Emolysis. Its co-founder and CEO is Roozbeh Bandpey. Website: https://bandpey.com. - [Imprint](https://emolysis.com/legal/imprint): Legal details of Bandpey GmbH: Gmunder Str. 20b, 81379 Munich, HRB 285782. ## Founder: Roozbeh Bandpey - [Roozbeh Bandpey](https://emolysis.com/about/roozbeh-bandpey): Roozbeh Bandpey is the co-founder and CEO of Bandpey GmbH (since June 2023) and is building Emolysis. He is an entrepreneur and AI engineer based in Munich with more than 20 years of hands-on software engineering, a Databricks Solutions Architect Champion (an invitation-only program, since November 2021), and an alumnus of the University of Stuttgart. At Accenture (2021 to 2023) he was a Distinguished Engineer and Head of Data and MLOps for Germany, Austria and Switzerland and founded its Databricks Center of Excellence. Since September 2026 he is also the founder and CEO of FACTHORY, an AI-native operating system for industrial work. - [Roozbeh Bandpey (Markdown)](https://emolysis.com/about/roozbeh-bandpey.md): The founder page as Markdown: bio, career and expertise. - [Roozbeh Bandpey, public profile](https://www.linkedin.com/in/roozbehbandpey/): His professional profile, with his career in full. ## Product - [Home (Markdown)](https://emolysis.com/index.md): The home page as Markdown: what Emolysis is, how it works and where it stands. - [Home](https://emolysis.com/): What Emolysis is, how it works, platforms, shapes and where it stands. - [BI dashboards](https://emolysis.com/bi): Dashboards from a question: a tested gold table, charts and a link you control. - [Integrations](https://emolysis.com/integrations): One engine, the same commands everywhere: a desktop app, the emo CLI, an MCP server and GitHub pull request checks. - [Download](https://emolysis.com/download): Signed desktop builds for macOS and Windows and a Linux AppImage are planned. Nothing is available to download yet. ## Pipeline shapes - [Pipeline shapes](https://emolysis.com/shapes): Most production pipelines follow ten shapes. Emolysis starts each one from a tested template for your platform. - [Ingest (batch)](https://emolysis.com/shapes/ingest-batch): Land files, extracts and database tables in bronze tables, typed and checked on load. - [Incremental append](https://emolysis.com/shapes/incremental-append): Append only the rows that arrived since the last run, tracked by a watermark. - [CDC merge](https://emolysis.com/shapes/cdc-merge): Apply inserts, updates and deletes from a change feed to a target table. - [SCD Type 2](https://emolysis.com/shapes/scd2): Keep the full history of a dimension, with a validity range for every version. - [Snapshot](https://emolysis.com/shapes/snapshot): Copy a source in full on a schedule and keep dated copies for a set retention period. - [Backfill](https://emolysis.com/shapes/backfill): Re-run a pipeline for a past date range, one partition at a time, without touching the rest. - [Late-arriving](https://emolysis.com/shapes/late-arriving): Reprocess the right time windows when facts arrive after the period they belong to. - [Dedupe / conform](https://emolysis.com/shapes/dedupe-conform): Turn raw bronze rows into clean silver rows: one row per key, with consistent types and names. - [Aggregation / gold](https://emolysis.com/shapes/aggregation-gold): Build the metrics tables that dashboards and reports read, at a declared grain. - [Reverse ETL](https://emolysis.com/shapes/reverse-etl): Push curated gold data back into business applications and operational databases, safe to re-run. ## Platforms - [Platforms](https://emolysis.com/platforms): Databricks is in development and Snowflake and Microsoft Fabric are planned; PostgreSQL is in development as a source and SQL Server is planned as one; DuckDB is the local engine. - [Databricks](https://emolysis.com/platforms/databricks): Deploy target (in development). The first target. Writes for Delta tables and Unity Catalog and deploys as Databricks Asset Bundles. - [Snowflake](https://emolysis.com/platforms/snowflake): Deploy target (planned). Writes for streams, tasks and dynamic tables, with Snowflake's own identifier rules. - [Microsoft Fabric](https://emolysis.com/platforms/microsoft-fabric): Deploy target (planned). Writes for lakehouses in OneLake and deploys notebooks to your Fabric workspace. - [SQL Server](https://emolysis.com/platforms/sql-server): Source (planned). Planned as a source: operational tables and change data from SQL Server, read for your pipelines. - [PostgreSQL](https://emolysis.com/platforms/postgresql): Source (in development). Reads tables from PostgreSQL as a source: mirrors its catalog and samples tables into DuckDB on your machine. - [DuckDB](https://emolysis.com/platforms/duckdb): Local engine (local dev loop). The local development loop: every pipeline runs and passes its tests on DuckDB before it touches your platform. ## Integrations - [Desktop app](https://emolysis.com/integrations/desktop-app): The full engine with a workspace view, for macOS, Windows and Linux. In development. - [emo CLI](https://emolysis.com/integrations/cli): Every Emolysis command from the terminal, for scripts and CI. In development. - [MCP server](https://emolysis.com/integrations/mcp): Emolysis inside any editor or coding agent that supports MCP. In development. - [GitHub App](https://emolysis.com/integrations/github): Checks on every pull request: lint, golden tests, cost estimate and a preview link. Planned. ## Pricing - [Pricing](https://emolysis.com/pricing): Free with your own model key; Pro, Max, Team and Enterprise add platforms, sharing and GitHub checks (planned), with included model usage on Pro, Max and Team and metered usage on Enterprise. Prices are planned; nothing can be bought yet. ## Docs - [Documentation](https://emolysis.com/docs): How Emolysis works: projects, shapes, templates, golden tests, platform profiles, deploys and dashboards. - [Introduction](https://emolysis.com/docs/introduction.md): What Emolysis does, how it works on your data platform, where each part stands today, and how these docs are organized, page by page. - [How Emolysis works](https://emolysis.com/docs/how-it-works.md): The fixed path from a request to a deployed pipeline: connect, describe, pick a shape, fill a template, test on DuckDB, deploy, publish. - [Installation (planned)](https://emolysis.com/docs/installation.md): What Emolysis installs as, on which systems, and what exists today. No build is released; the emolysis package name is only a placeholder. - [Quickstart (planned flow)](https://emolysis.com/docs/quickstart.md): A first Emolysis session, step by step: a local file, a tested gold table, a dashboard, then a tested pipeline deployed on Databricks. - [Projects and emolysis.yml](https://emolysis.com/docs/projects.md): The Emolysis project folder: models, pipelines, tests, the emolysis.yml project file and the local lakehouse for samples. - [Pipeline shapes](https://emolysis.com/docs/shapes.md): The ten pipeline shapes, how the agent chooses one, how shapes combine into real pipelines, and what happens when no shape fits your request. - [Templates and slots](https://emolysis.com/docs/templates.md): What an Emolysis template contains, the eleven slot types, how slots are filled and validated, and how to write your own templates. - [Golden tests on DuckDB](https://emolysis.com/docs/golden-tests.md): How fixtures and expected outputs prove a pipeline on your machine before deploy, when the tests run, and what they do not prove. - [Platform profiles](https://emolysis.com/docs/platform-profiles.md): What a platform profile records, from dialect and table format to known traps, and how the agent uses it on every request in your project. - [Connecting Databricks](https://emolysis.com/docs/connect-databricks.md): How you connect a Databricks workspace to Emolysis: sign-in, OAuth, workspace and compute, the catalog mirror, sampling and what a deploy makes. - [Connecting Snowflake](https://emolysis.com/docs/connect-snowflake.md): Snowflake is planned after Databricks, tested only on simulated services. What the connection needs, what its profile covers and what is not decided. - [Connecting Microsoft Fabric](https://emolysis.com/docs/connect-fabric.md): Microsoft Fabric is planned after Databricks, tested only on simulated services. What the connection needs and what its profile covers. - [Sources](https://emolysis.com/docs/sources.md): SQL Server and PostgreSQL as sources: Emolysis reads from them and never deploys to them. What that means, the shapes they feed and what is not decided. - [Deploying](https://emolysis.com/docs/deploying.md): How a green pipeline becomes your platform's native unit: Databricks Asset Bundles, Snowflake SQL or Fabric items, with pull request gates. - [Dashboards from a question](https://emolysis.com/docs/dashboards.md): From a business question to a semantic model, a tested gold table and charts. The seven chart types and how publishing works. - [Sharing dashboards](https://emolysis.com/docs/sharing.md): Publishing a dashboard as a link: a stable link with revisions, three visibility settings fixed per link, snapshot links that can expire, and revoking. - [Chart types](https://emolysis.com/docs/chart-types.md): The seven chart types Emolysis dashboards use, what each takes, how numbers are combined and formatted, and how many series a chart shows. - [The emo CLI](https://emolysis.com/docs/cli.md): The emo commands: init, connect, login, check, token, dashboard refresh, mcp, doctor and run, with exit codes, skills and how emo fits into CI. - [The MCP server](https://emolysis.com/docs/mcp-server.md): Using emo mcp from an editor or coding agent that supports MCP: configuration, tool names, signing in with your Emolysis account and errors. - [Editors and coding agents](https://emolysis.com/docs/editors.md): How editors and coding agents that support MCP use Emolysis: setup buttons, ready-made configs and skills, and what your tool sends to its model. - [GitHub checks](https://emolysis.com/docs/github-checks.md): Lint, golden tests and a cost estimate on every pull request, with emo check in your own CI; the GitHub App, which adds a preview, is planned. - [Model keys and credits](https://emolysis.com/docs/model-keys-and-credits.md): Bring your own key from the model provider you choose, on any plan, or use a paid plan's model usage. What each means for cost and for your data. - [Data handling](https://emolysis.com/docs/data-handling.md): Exactly what leaves your machine when you use Emolysis, and when: prompts, published dashboards, sign-in and the GitHub App. - [Troubleshooting](https://emolysis.com/docs/troubleshooting.md): The nine Emolysis error codes and what to do about each, plus common problems with sign-in, tests, deploys, links and MCP. - [Error codes](https://emolysis.com/docs/error-codes.md): The nine error codes every Emolysis surface returns, what each one means, the usual causes, and what to do about it when one appears. ## FAQ - [Frequently asked questions](https://emolysis.com/faq): Platforms, pipeline shapes, what leaves your machine, plans and keys, dashboards, GitHub checks and availability. - [Does my data leave my machine?](https://emolysis.com/faq/does-my-data-leave-my-machine.md): Some of it can: prompts go to the model provider you choose and can include schemas and sample values, and a dashboard leaves only when you publish it. - [How do dashboards from a question work?](https://emolysis.com/faq/how-dashboards-from-a-question-work.md): You type a business question, and Emolysis builds a tested gold table behind it and picks charts for you to review before you publish a link. - [How does Emolysis work with GitHub?](https://emolysis.com/faq/how-emolysis-works-with-github.md): Your pipelines live in your own repository, and checks on each pull request, from emo check in your CI or the planned GitHub App, are the gate for every deploy. - [Is Emolysis free?](https://emolysis.com/faq/will-emolysis-be-free.md): There is a Free plan at $0, and because it is bring your own key, you pay your model provider directly and Emolysis charges nothing for it. - [Is there a release date for Emolysis?](https://emolysis.com/faq/when-will-emolysis-be-available.md): There is no release date yet, because Emolysis is in private development, and the news page announces availability when there is one. - [What are pipeline shapes?](https://emolysis.com/faq/what-are-pipeline-shapes.md): A pipeline shape is a recurring kind of data pipeline with a known correct form, and about ten shapes cover most production work. - [What is Emolysis?](https://emolysis.com/faq/what-is-emolysis.md): Emolysis is the agentic lakehouse for data engineering and analytics, made by Bandpey GmbH in Munich, that puts a team of agents at your direction. - [Which platforms does Emolysis support?](https://emolysis.com/faq/which-platforms-will-emolysis-support.md): Databricks is first, Snowflake and Microsoft Fabric are planned, PostgreSQL is in development as a source, SQL Server is planned as one. - [Who makes Emolysis?](https://emolysis.com/faq/who-makes-emolysis.md): Emolysis is made by Bandpey GmbH, a company in Munich, Germany, led by CEO Roozbeh Bandpey, and it is in private development. - [Can I join early access?](https://emolysis.com/faq/can-i-join-early-access.md): Early access is by invitation, starting with data engineering teams on Databricks, and you ask for it with the request form or by email to the team. - [Is Emolysis open source?](https://emolysis.com/faq/is-emolysis-open-source.md): The core is closed source, while the template format and the setup configs for editors and coding agents are public under the MIT license. - [What does bring your own key mean?](https://emolysis.com/faq/what-is-bring-your-own-key.md): You add a key from the model provider you choose, the agent uses it, that provider bills you directly, and Emolysis adds nothing to that bill. - [What does the AI model provider see?](https://emolysis.com/faq/what-does-the-model-provider-see.md): It sees the agent's prompts and the responses it returns, which can include table and column names, schemas, templates and sample values from your data. - [What does the GitHub App check?](https://emolysis.com/faq/what-will-the-github-app-check.md): The GitHub App is planned; it checks four things on every pull request: lint, golden tests on DuckDB, a cost estimate and a preview dashboard link. - [Which ten shapes does Emolysis cover?](https://emolysis.com/faq/which-ten-shapes.md): Ingest (batch), Incremental append, CDC merge, SCD Type 2, Snapshot, Backfill, Late-arriving, Dedupe / conform, Aggregation / gold and Reverse ETL. - [Who can see a dashboard I share?](https://emolysis.com/faq/who-can-see-a-shared-dashboard.md): You choose when you publish from three settings, anyone with the link, members of your organization or only you, with organization as the default. - [Who is Emolysis for?](https://emolysis.com/faq/who-is-emolysis-for.md): Emolysis is for people who own production data pipelines on Databricks, Snowflake or Microsoft Fabric, and for analysts who want a dashboard from a question. - [Why is Databricks first?](https://emolysis.com/faq/why-databricks-first.md): Databricks has the complete set of APIs Emolysis needs to prove the whole loop, from a question to a tested, deployed pipeline and a shared dashboard. - [Can I change who can open a shared dashboard?](https://emolysis.com/faq/change-who-can-open-a-shared-dashboard.md): Not on its current link: revoke the link, then publish the dashboard again with the setting you want, which makes a new link with a new URL. - [Can I run the checks in my own CI?](https://emolysis.com/faq/run-checks-in-my-own-ci.md): Yes, a reusable GitHub Actions workflow, in preview, runs emo check in your own CI; it needs the emo command line, which is not released yet. - [Can I use my own key on a paid plan?](https://emolysis.com/faq/can-i-use-my-own-key-on-a-paid-plan.md): Yes, every plan accepts your own model key, and requests made with it are billed by your provider and do not count against your plan's limits. - [How can I contact the team?](https://emolysis.com/faq/how-can-i-contact-the-team.md): Email hello@emolysis.com, which is the one channel for general questions, early access, press and security reports while Emolysis is in private development. - [How is Emolysis different from a general coding agent?](https://emolysis.com/faq/different-from-a-general-coding-agent.md): A general agent writes whatever a prompt suggests; Emolysis starts from a platform profile, tested templates and golden tests on your machine. - [Is there a date for Snowflake and Microsoft Fabric?](https://emolysis.com/faq/when-snowflake-and-fabric.md): There are no dates yet: both are planned after Databricks, and the news page announces each one when its templates pass their tests there. - [What if my pipeline does not fit one of the ten shapes?](https://emolysis.com/faq/pipeline-does-not-fit-a-shape.md): Most real pipelines are several shapes in a row, and when a request fits none the agent says so instead of improvising code it cannot test. - [Where are my platform credentials stored?](https://emolysis.com/faq/where-are-platform-credentials-stored.md): They are kept in your operating system's credential store and not sent to Emolysis, whose services never connect to your data platform. - [Which operating systems does the desktop app support?](https://emolysis.com/faq/which-operating-systems.md): The desktop app is for macOS, Windows and Linux, with no build released yet, and the emo command line and MCP server cover the same three systems. - [Can I update a shared dashboard?](https://emolysis.com/faq/can-i-update-a-shared-dashboard.md): Yes, a dashboard keeps one stable link and each publish adds a revision under it, so the link you sent stays the same and shows the latest numbers. - [Does Emolysis store my data on its servers?](https://emolysis.com/faq/does-emolysis-store-my-data.md): Only what you publish, because Emolysis's services hold your account, plan and usage records, and the dashboards you choose to publish. - [Does Emolysis work offline?](https://emolysis.com/faq/will-emolysis-work-offline.md): Partly: golden tests on DuckDB with local files work offline, while writing code, deploying and sharing a dashboard all need a network connection. - [Does this website use cookies or analytics?](https://emolysis.com/faq/does-this-website-use-cookies.md): Yes, once you choose in the cookie banner; before that it sets no cookies and keeps nothing in your browser but your theme. - [What do the paid plans add?](https://emolysis.com/faq/what-do-paid-plans-add.md): Pro adds every platform connection, sharing and GitHub checks, Max more included usage, Team shared workspaces, and Enterprise controls and support. - [What does an Emolysis project look like?](https://emolysis.com/faq/what-does-a-project-look-like.md): A plain folder you own and keep in your own repository, with models, pipelines, tests and an emolysis.yml file that names the platform. - [What does local-first mean for Emolysis?](https://emolysis.com/faq/what-does-local-first-mean.md): Development runs on your machine with DuckDB and production runs on your platform, but that does not mean that nothing leaves your machine. - [What is a golden test?](https://emolysis.com/faq/what-is-a-golden-test.md): A golden test runs a pipeline on a fixed input and compares its output with an expected output row for row; a failure sends the agent back to the template. - [What is a platform profile?](https://emolysis.com/faq/what-is-a-platform-profile.md): A platform profile describes a data platform for the agent, which loads it when you connect a workspace and writes code the way that platform expects. - [Can I limit what the agent sends in prompts?](https://emolysis.com/faq/limit-what-prompts-include.md): No dedicated setting yet: you limit what the agent sees with a development workspace, non-sensitive tables and synthetic test fixtures. - [Can I move a pipeline from one platform to another?](https://emolysis.com/faq/move-a-pipeline-between-platforms.md): Yes, as an explicit step in which the pipeline is translated to the target platform's dialect and its golden tests run again. - [Can I revoke or expire a shared link?](https://emolysis.com/faq/revoke-or-expire-a-shared-link.md): You can revoke any shared link at any time, which deletes the data you published with it, and only a snapshot link can also have an expiry date. - [Does Emolysis replace my data platform or catalog?](https://emolysis.com/faq/does-emolysis-replace-my-platform.md): No, Emolysis sits on top of the platform you already run and deploys your platform's native unit, which your team can review and operate. - [How do I hear about releases?](https://emolysis.com/faq/how-will-i-hear-about-releases.md): On the news page and its RSS feed, which is where we announce each release, each new platform and any change to the plans and their prices. - [How is Max different from Pro?](https://emolysis.com/faq/how-is-max-different-from-pro.md): Max is for people who build with the agent all day, and it adds 5x or 20x Pro's included usage, priority access at busy times and early access. - [Why test on DuckDB instead of on my platform?](https://emolysis.com/faq/why-test-on-duckdb.md): DuckDB runs on your machine with no cluster, so a golden test takes seconds and spends no warehouse compute, which makes testing on every save practical. - [Can Emolysis read from SQL Server or PostgreSQL?](https://emolysis.com/faq/sql-server-and-postgresql-sources.md): PostgreSQL is in development as a source and SQL Server is planned: Emolysis reads from them, lands the data on your platform and never deploys to them. - [Can I write my own templates?](https://emolysis.com/faq/can-i-write-my-own-templates.md): Yes, the template format is public under the MIT license, and you can write templates for your own recurring patterns and use them in your projects. - [How do Team seats work?](https://emolysis.com/faq/how-will-team-seats-work.md): Team is for 2 to 150 people, with standard seats at $25 and premium seats at $125 per seat a month, and lower prices when billed annually. - [What happens if my dashboard's link was revoked?](https://emolysis.com/faq/what-happens-when-a-link-was-revoked.md): The dashboard on your machine is untouched, and your next publish from the app makes a new link and says the old one was replaced; a refresh never makes one. - [What permissions does Emolysis need on my platform?](https://emolysis.com/faq/platform-permissions.md): Emolysis acts with the permissions of the account you sign in with, no more, so a role limited to a development workspace limits what it can do. - [Which AI model does Emolysis use?](https://emolysis.com/faq/which-ai-model-does-emolysis-use.md): Emolysis works with your own key from the model provider you choose, on any plan, or with a paid plan's included model usage instead of a key. - [Can I use Emolysis from my editor or coding agent?](https://emolysis.com/faq/use-emolysis-from-my-editor.md): Yes, the MCP server, emo mcp, lets any editor or coding agent that supports MCP use the same commands as the desktop app, with one config entry. - [How does Enterprise pricing work?](https://emolysis.com/faq/how-will-enterprise-pricing-work.md): Enterprise is US$20 per seat a month billed annually, plus model usage at metered rates, with a 20-seat minimum for self-serve, at planned prices. - [Is Emolysis certified for SOC 2 or similar standards?](https://emolysis.com/faq/security-certifications.md): No, Emolysis is in private development and has not been through a third-party audit, penetration test or compliance certification. - [What chart types do dashboards support?](https://emolysis.com/faq/what-chart-types.md): The chart spec defines seven types, bar, line, area, scatter, pie, KPI and table, and every chart also lists its data in a table. - [Can I pay annually, and does it cost less?](https://emolysis.com/faq/can-i-pay-annually.md): Yes for Pro and Team, where annual billing costs less per month, while Max is billed monthly only and Enterprise annually only, at planned prices. - [Does Emolysis deploy anything without my approval?](https://emolysis.com/faq/deploy-without-approval.md): No, deploying is a step you take yourself, and only after lint, a DuckDB dry run and the golden tests on your machine have all come back green. - [How do usage credits work?](https://emolysis.com/faq/what-are-emolysis-credits.md): Usage credits on Pro, Max and Team keep the agent working at standard metered rates after you reach your plan's included model usage. - [How do usage limits work, and what if I reach one?](https://emolysis.com/faq/how-will-usage-limits-work.md): Included usage is measured by the work the agent does, and at a limit you can wait, use your own key, change plan or turn on usage credits. - [Does Emolysis charge for my warehouse compute?](https://emolysis.com/faq/will-emolysis-charge-for-warehouse-compute.md): No, deploys and production runs use your platform's compute and appear on your platform's bill, and local iteration uses no cluster hours. - [Can I buy a plan today?](https://emolysis.com/faq/can-i-buy-a-plan-today.md): No, Emolysis is in private development, nothing is for sale, and the prices on this site are planned prices that may change before release. ## Security - [Security and data handling](https://emolysis.com/security): What leaves your machine, where credentials live, model providers and keys, shared dashboards and the GitHub App. ## Company - [Early access](https://emolysis.com/early-access): By invitation while we build, starting with data engineering teams on Databricks. - [Support](https://emolysis.com/support): Docs, the FAQ, email (hello@emolysis.com) and the public repositories on GitHub. - [News](https://emolysis.com/news): Announcements and essays; releases are announced here. - [Press kit](https://emolysis.com/press-kit): Logos, colors, boilerplate and company facts. ## For AI agents - [For AI agents](https://emolysis.com/agents): How AI agents can search and read this website: the MCP server, Markdown versions and discovery documents. No sign-in. - [For AI agents (Markdown)](https://emolysis.com/agents.md): The page for AI agents as Markdown. - [MCP server](https://emolysis.com/mcp): AI agents can also search and read this website through its read-only MCP server, which needs no sign-in. Streamable HTTP; tools search_site, get_page, list_pages and about_emolysis. - [MCP server card](https://emolysis.com/.well-known/mcp/server-card.json): The MCP server's name, version, endpoint, transport and protocol versions. - [API catalog](https://emolysis.com/.well-known/api-catalog): An RFC 9727 API catalog that lists the MCP server. - [Agent skills](https://emolysis.com/.well-known/agent-skills/index.json): One skill, emolysis: how to answer questions about Emolysis from this website. - [auth.md](https://emolysis.com/auth.md): Authentication for agents: there is none, and none is needed. ## Optional - [Full summary](https://emolysis.com/llms-full.txt): A longer plain-text summary of Emolysis: status, how it works, shapes, platforms, data handling, plans and company. - [Tutorials](https://emolysis.com/tutorials): Step-by-step previews of planned workflows. - [From a CSV to a shared dashboard](https://emolysis.com/tutorials/csv-to-shared-dashboard.md): A preview of turning a local CSV into a tested gold table and a dashboard on your machine, then sharing it as a link. No platform needed. - [Your first golden test on DuckDB](https://emolysis.com/tutorials/first-golden-test-on-duckdb.md): A preview of writing fixtures and an expected output for a dedupe pipeline, running them on DuckDB, and fixing a red test. - [SCD Type 2 customer dimension on Databricks](https://emolysis.com/tutorials/scd-type-2-customer-dimension-databricks.md): A preview of building a customer dimension with history on Databricks, from slots and golden tests to sampling and deploying as an Asset Bundle. - [Keep a table in sync with CDC merge](https://emolysis.com/tutorials/cdc-merge-keep-a-table-in-sync.md): A preview of applying a change feed to a Delta table on Databricks, with duplicate keys, ordering and deletes covered by golden tests. - [Use Emolysis over MCP](https://emolysis.com/tutorials/use-emolysis-over-mcp.md): A preview of signing in, adding emo mcp to an editor or coding agent that supports MCP, using it on local files, then connecting a platform. - [Add Emolysis checks to your pull requests](https://emolysis.com/tutorials/pull-request-checks.md): A preview of running lint, golden tests and cost estimates on every pull request, and making green checks your deploy gate. - [Glossary](https://emolysis.com/glossary): Plain definitions of data engineering terms. - [Apache Iceberg](https://emolysis.com/glossary/iceberg.md): Apache Iceberg is an open table format for large analytic tables, with transactions, schema evolution and time travel across engines. - [Backfill](https://emolysis.com/glossary/backfill.md): A backfill re-runs a pipeline for a past period, to load history, apply a fix to old data or reprocess data a source delivered again. - [Bring your own key (BYOK)](https://emolysis.com/glossary/byok.md): Bring your own key means you supply the credentials for a service, here an AI model provider's key, and pay that provider directly. - [Bronze layer](https://emolysis.com/glossary/bronze-layer.md): The bronze layer holds raw data as it arrived from the source, with little or no change, plus load metadata such as the source file. - [Change data capture (CDC)](https://emolysis.com/glossary/change-data-capture.md): Change data capture records the inserts, updates and deletes made to a source table so downstream systems can apply only what changed. - [Clustering](https://emolysis.com/glossary/clustering.md): Clustering stores rows with similar values close together in a table's files, so queries that filter on those columns can skip most of the data. - [Coding agent](https://emolysis.com/glossary/coding-agent.md): A coding agent is an AI system that writes, runs and fixes code toward a goal, using tools such as a file system, a terminal and tests. - [Data contract](https://emolysis.com/glossary/data-contract.md): A data contract is an agreement between the producer and consumers of a dataset about its columns, types, keys and meaning, checked automatically. - [Data quality test](https://emolysis.com/glossary/data-quality-test.md): A data quality test checks that data meets an expectation: a key is unique and not null, a value is in range, a table is fresh. - [Databricks Asset Bundle](https://emolysis.com/glossary/asset-bundle.md): A Databricks Asset Bundle describes a project's jobs, pipelines and settings as files, so they deploy the same way to every environment. - [Deduplication](https://emolysis.com/glossary/deduplication.md): Deduplication removes repeated records so each entity or event appears once, using a deterministic rule to choose which version to keep. - [Delta Lake](https://emolysis.com/glossary/delta-lake.md): Delta Lake is an open table format that adds a transaction log to Parquet files, giving tables transactions, merges and time travel. - [Dimension](https://emolysis.com/glossary/dimension.md): A dimension describes the things that facts are about, such as customers, products or dates, and holds the attributes reports group and filter by. - [DuckDB](https://emolysis.com/glossary/duckdb.md): DuckDB is an open-source analytical database that runs inside another program or on a laptop, with no server to set up or manage. - [DuckLake](https://emolysis.com/glossary/ducklake.md): DuckLake is an open lakehouse format that keeps table metadata in a SQL database and the data as Parquet files on disk or object storage. - [ELT](https://emolysis.com/glossary/elt.md): ELT stands for extract, load, transform: data is loaded raw into the platform first and then transformed there, usually in SQL. - [Fact table](https://emolysis.com/glossary/fact-table.md): A fact table records measurable events, such as orders or payments, at a declared grain, with numbers to add up and keys to dimensions. - [Gold layer](https://emolysis.com/glossary/gold-layer.md): The gold layer holds business-ready tables: metrics, aggregates and dimensional models at a declared grain, built for dashboards and reports. - [Golden test](https://emolysis.com/glossary/golden-test.md): A golden test runs code on a fixed input and compares its output with a stored expected output; any difference fails the test. - [Grain](https://emolysis.com/glossary/grain.md): The grain of a table is what one row represents, such as one order line, one customer per day or one region per month, stated up front. - [Idempotency](https://emolysis.com/glossary/idempotency.md): A pipeline step is idempotent when running it twice with the same input leaves the same result as running it once, so retries are safe. - [Incremental load](https://emolysis.com/glossary/incremental-load.md): An incremental load processes only data that is new or changed since the last run, instead of reloading the whole source every time. - [Lakehouse](https://emolysis.com/glossary/lakehouse.md): A lakehouse stores data as open files in object storage and adds warehouse features: schemas, transactions, updates, deletes and governance. - [Late-arriving records](https://emolysis.com/glossary/late-arriving-data.md): Late-arriving records are facts that reach the pipeline after the period they belong to was already processed, so past totals need fixing. - [Lineage](https://emolysis.com/glossary/lineage.md): Lineage describes where data comes from and where it goes: which sources, tables and columns feed each table and report. - [Medallion architecture](https://emolysis.com/glossary/medallion-architecture.md): The medallion architecture organizes a lakehouse into bronze, silver and gold layers of increasing quality, each built from the one before. - [Merge (upsert)](https://emolysis.com/glossary/merge-upsert.md): A merge, or upsert, writes a batch of rows into a table in one statement: existing keys are updated and new keys are inserted. - [Model Context Protocol (MCP)](https://emolysis.com/glossary/mcp.md): The Model Context Protocol is an open standard that lets editors and coding agents connect to external tools through a common interface. - [Natural key](https://emolysis.com/glossary/natural-key.md): A natural key, or business key, identifies a record in the source system's own terms, such as a customer number or an order id. - [OneLake](https://emolysis.com/glossary/onelake.md): OneLake is the single storage layer of Microsoft Fabric, where every workspace keeps its lakehouse and warehouse data, mostly as Delta tables. - [Orchestration](https://emolysis.com/glossary/orchestration.md): Orchestration runs pipeline steps in the right order, on a schedule or when data arrives, with retries, dependencies and alerts. - [Partitioning](https://emolysis.com/glossary/partitioning.md): Partitioning splits a table into parts by the value of a column, most often a date, so queries and writes touch only the parts they need. - [Platform profile](https://emolysis.com/glossary/platform-profile.md): In Emolysis, a platform profile is a structured description of a data platform that the agent loads when you connect a workspace. - [Pull request check](https://emolysis.com/glossary/pull-request-check.md): A pull request check is an automated test that runs when code is proposed for merging and reports pass or fail on the pull request. - [SCD Type 1](https://emolysis.com/glossary/scd-type-1.md): A slowly changing dimension of Type 1 keeps only the latest value of each attribute and overwrites the old value in place. - [SCD Type 2](https://emolysis.com/glossary/scd-type-2.md): A slowly changing dimension of Type 2 keeps the full history of a record, with a validity range for every version of it. - [Schema evolution](https://emolysis.com/glossary/schema-evolution.md): Schema evolution is how a table's structure changes over time: new columns, widened types, and renamed or removed fields. - [Semantic model](https://emolysis.com/glossary/semantic-model.md): A semantic model describes data in business terms: the measures, the dimensions they can be sliced by, how tables join and the rules behind each number. - [Silver layer](https://emolysis.com/glossary/silver-layer.md): The silver layer holds cleaned, conformed data: one row per entity or event, consistent types and names, and duplicates removed. - [Snapshot](https://emolysis.com/glossary/snapshot.md): A snapshot is a full copy of a source as it was at one point in time, either replacing the last copy or kept with its date. - [SQL model](https://emolysis.com/glossary/sql-model.md): A SQL model is a single transformation kept as a file, usually one SELECT statement that defines one table or view in a project. - [Surrogate key](https://emolysis.com/glossary/surrogate-key.md): A surrogate key is an identifier created by the data platform instead of taken from the source, usually a sequence number or a hash. - [Template slot](https://emolysis.com/glossary/template-slot.md): In Emolysis, a template slot is a named, typed placeholder in a pipeline template, such as the business key or the watermark column. - [Unity Catalog](https://emolysis.com/glossary/unity-catalog.md): Unity Catalog is Databricks' governance layer for data and AI assets, with a three-level namespace and permissions on every object. - [Watermark](https://emolysis.com/glossary/watermark.md): A watermark records how far a pipeline has processed a source, usually as the highest timestamp or sequence number loaded so far. - [Where did this number come from?](https://emolysis.com/news/where-did-this-number-come-from.md): Every Emolysis chart says whether its rows are illustrative, a sample or live, and which metric definition it shows. Why, and what that does not prove. - [One shape, three dialects: SCD Type 2](https://emolysis.com/news/one-shape-three-dialects.md): The same SCD Type 2 history on Databricks, Snowflake and Microsoft Fabric. Two null-safe comparisons, one transaction rule and one set of golden cases. - [Averages don't add: re-combining grouped reads](https://emolysis.com/news/averages-dont-add.md): A chart over a pre-aggregated table can average the averages and draw a wrong number. How Emolysis re-combines grouped reads exactly, and where that stops. - [Bring your own key](https://emolysis.com/news/bring-your-own-key.md): Why the Emolysis Free plan is bring your own key, what the model provider sees, and what the paid plans and their model usage will add. - [Dashboards from a question](https://emolysis.com/news/dashboards-from-a-question.md): Ask a business question; Emolysis is designed to build the tested gold table behind the answer, chart it and share it as a link you control. - [Tests before production](https://emolysis.com/news/tests-before-production.md): Why nothing in Emolysis is designed to reach your platform until its golden tests pass on DuckDB, and what golden tests do not prove. - [The ten pipeline shapes](https://emolysis.com/news/the-ten-pipeline-shapes.md): Most production data engineering follows about ten shapes. Why Emolysis is designed to start every pipeline from a tested template for one of them. - [Why local-first data engineering](https://emolysis.com/news/why-local-first-data-engineering.md): Iterate on your machine with DuckDB, prove the logic with golden tests, deploy only what passes. What local-first means, and what it does not. - [Introducing Emolysis](https://emolysis.com/news/introducing-emolysis.md): We are building Emolysis, a local-first coding agent for data engineering and BI, starting with Databricks. What it will do and where it stands.