General purpose migration (upgrades, downgrades) framework
Python Makefile Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
demo
docs
etc
tests
transmutator
.gitignore
.travis.yml
AUTHORS
CHANGELOG
CONTRIBUTING.rst
INSTALL
LICENSE
MANIFEST.in
Makefile
README.rst
VERSION
setup.py
tox.ini

README.rst

transmutator

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.
Migration
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".
Framework
transmutator's primary purpose is to run migrations. But it also provides a basic toolkit to ease the development of migration scripts.

Demo

Check https://transmutator.readthedocs.org/en/latest/demo.html

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!

Ressources