Toolkit · Self-Service Conversion

Migrate from SAS with your coding agents

Alchemist Skills and the Alchemist API put deterministic SAS‑to‑PySpark conversion inside the coding agent you already use; an MCP server is in development. It is the same engine behind enterprise Databricks migrations.

Video: converting SAS to PySpark from a coding agent with an Alchemist Skill
See it

SAS in. PySpark out.

The agent asks. Alchemist parses the SAS into a syntax tree and rewrites it, with the same output every time, whichever agent asked.

SAS orders.sas
data work.big_orders;
  set sales.orders;
  where amt > 1000;
  tier = 'Key';
  net = amt * 0.9;
run;

proc sql;
  create table work.by_region as
  select region, sum(net) as net
  from work.big_orders
  group by region;
quit;
PySpark orders.py
# Converted by Alchemist
from pyspark.sql import functions as F

big_orders = (
  spark.table("sales.orders")
  .filter(F.col("amt") > 1000)
  .withColumn("tier", F.lit("Key"))
  .withColumn("net", F.col("amt") * 0.9)
)

by_region = (
  big_orders.groupBy("region")
  .agg(F.sum("net").alias("net"))
)
by_region.createOrReplaceTempView(
  "by_region"
)

Same engine, same PySpark, whether the code runs on Databricks, Snowflake or Microsoft Fabric. Agents are one way into the SAS to PySpark migration toolkit, which also analyzes your SAS estate and automates the migration around the conversion.

The problem

Why doesn't manual migration scale?

With thousands of SAS programs, three things limit a manual rewrite: time, consistency across many hands, and how few people can do the work. A deterministic engine addresses all three.

  1. Time

    A manual SAS rewrite is measured in months, and most of that time goes to repetitive translation rather than design.

  2. Consistency

    Each developer translates a little differently, and across hundreds of programs those differences add up to logic drift.

  3. Who can take part

    When only engineers can convert, business and analytics teams queue for their turn. Agents let them run their own scope.

How it works

Your agent talks to Alchemist

Ask your coding agent to convert SAS code. It delegates the work to Alchemist through a skill that calls the Alchemist API. The converted code comes back to your notebook for review, refinement and a run. The conversion stays deterministic; the agent only orchestrates it.

  1. 1 · Your agentDatabricks Genie, Snowflake Cortex, Microsoft Copilot, Claude Code
  2. 2 · AlchemistSkill → Alchemist APIapi.getalchemist.io
  3. 3 · Your notebookReview, refine, run
Works with your stack

Bring your own agent

Each of these agents drives Alchemist through Skills and the API, whether it runs locally or in your cloud platform. An MCP server is in development, so any MCP client will be able to drive a conversion too.

  • Databricks Genie
  • Snowflake Cortex
  • Microsoft Copilot
  • Claude Code
  • Any MCP client (in development)
Deployment

Cloud or air-gapped, your call

Run conversions through Alchemist's hosted service, or deploy the full stack inside your own network with Docker. Same engine, same output.

Alchemist Cloud

Connect your agent to the hosted service over the public internet. Nothing to install; connection details are in your Alchemist account.

api.getalchemist.io

Air-gapped (Docker)

Deploy Alchemist in your private network. Full control; no code leaves your environment.

docker load -i alchemist.tar
Start

Set up Alchemist Skills for your team

Register for the free trial or read the documentation. Or tell us which agent and platform you are on, and we will point you at the right setup.