Transmutator is a general purpose migration framework. It focuses on automating actions to upgrade (or downgrade) a product.

General purpose
Perhaps you heard about tools such as Django migrations. They are migrations restricted to the scope of Django models and related database. Transmutator is not limited to a language, framework or database scope: it runs executables, whatever the language, for the purpose you want.
Given a product in a given state (call it state 1.0), a “migration” brings the product to another state (call it state 2.0). In the semantic field of workflows, we would have called it a “transition”. In the semantic field of end-user software, we would have called it an “upgrade” or “downgrade”.
transmutator‘s primary purpose is to run migrations. But it also provides a basic toolkit to ease the development of migration scripts.

Development status

Today, transmutator is experimental. First goal is to have a simple tool that runs migration scripts in a predictable, repeatable and easy way. Let’s focus on a basic but consistent set of features.

Later, transmutator (or related projects) may deal with queues, interactions, workflows, parallelization, monitoring, web UI...

Help is welcome to implement a nice tool today, and to make it better tomorrow!