Status
In private development. Early access by invitation.
Platforms
Account and data
Also on this site
Platforms
Account and data
Also on this site
Status
In private development. Early access by invitation.
Deploying is the step where a pipeline leaves your machine and becomes something your platform runs. In Emolysis it is the last step, never the first: only a pipeline whose lint and golden tests are green can be deployed.
| Platform | What a deploy produces |
|---|---|
| Databricks | A Databricks Asset Bundle (databricks.yml) with its jobs or pipelines |
| Snowflake | SQL that creates or alters tables, streams, tasks and dynamic tables |
| Microsoft Fabric | A PySpark notebook created or updated in your workspace |
Databricks comes first; Snowflake and Fabric are planned; their connectors are tested only on simulated services. On Databricks, the Databricks CLI is not needed: without it, Emolysis creates the same job through the Databricks API. Because the output is the platform's own unit, your team can operate it with the tools it already knows. See Asset Bundle and orchestration.
If your team reviews changes in GitHub, the pipeline goes to a pull request, and emo check runs lint, golden tests and a cost estimate on it. 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. The GitHub App is planned. Made required in your branch rules, those checks become the gate for every deploy, and the deploy runs from the merged commit. See GitHub checks.
Each template carries a cost note that says what drives its cost on its platform, such as a full table scan or a warehouse that stays awake. The pull request check adds an estimate for your target platform, so cost is part of the review.
Removing a pipeline deletes what its deploy created on your platform, with its schedule: the Databricks job and its uploaded files, the Snowflake task graph or the Fabric notebook. The tables its runs wrote and the pipeline's files in your project stay. Emolysis asks you first, and it does not remove a pipeline while one of its runs is in progress.
The deployed unit is a set of files in your repository, so returning to an earlier version means deploying an earlier commit with the same command. Your platform's own history, such as Delta time travel, still covers the data itself.
Deploying a pipeline to a different platform is an explicit step. dialect.transpile translates the pipeline's SQL to the target platform, and that platform's template for the same shape is filled and tested again. A /migrate command for the whole step is planned. The migrated files get the new platform's tag.
In the app (Deploy), from the command line (emo run pipeline.deploy), and from an editor or coding agent through the MCP server. All three run the same command. See The emo CLI and The MCP server.
A deploy can fail even when the golden tests pass, because DuckDB proves the logic and the platform proves the rendering. Most failures are permissions or configuration on the platform side. The error carries the platform's own message in its details. See Troubleshooting for the common cases and Error codes for platform_error.
Previous
Sources
Next
Dashboards from a question