Skip to content

Welcome to Alchemist!

Everything you need to analyze and automatically convert a legacy data environment to modern data stack.

  • Follow our simple tutorial to get started here
  • For an overview of various operations and how to execute them, see Usage
  • Configuration references is here
  • For release notes, see the changelog

If you have any questions, reach out to support.

What is Alchemist?

In short Alchemist is a static code analysis tool and transpiler. Here is a 30,000ft view of how it works:

The Key Features

  • Alchemist is not a simple find-and-replace tool. It has a deep understanding of code and can make intelligent decisions about how to convert it. This includes, but is not limited to:
    • Understanding data and code dependencies, providing insights for planning and conversion, and spotting missing dependencies
    • Inferring data types from code and correctly handling differences in how data types are handled in different systems
    • Intelligently renaming variables, tables, columns, and more across the entire codebase
    • Identifying duplicate code
    • And more...
  • The intermediate representation is an actual AST tree with additional metadata. This means that Alchemist's analysis and conversion is 100% independent of how the code is stored and formatted. If two pieces of code do exactly the same thing, they will have the same AST tree, produce the same stats, and the same output.
  • The conversion engine allows users to define code patterns and templates to convert them. Whether you want to use a different output code style, replace user-defined functions with a re-imagined implementation, or refactor on-the-fly, Alchemist has you covered.