Skip to main content

No project description provided

Project description


Build Status PyPI version Codcov

Addon that provides evolutions/migrations to create or update objects in your Guillotina containers.


pip install guillotina_evolution


Add the following values in app_settings:

app_settings = {
    "applications": [
    "commands": {
        "g-evolve": "guillotina_evolution.commands.evolve.EvolveCommand",

Configure your app addon to initialize guillotina_evolution when is installed:

from guillotina.component import get_utility
from guillotina_evolution.interfaces import IEvolutionUtility

@configure.addon(name="app", title="Your guillotina app")
class ManageAddon(Addon):
    async def install(cls, container, request):
        utility = get_utility(IEvolutionUtility)
        utility.install()  # initialize current generation with the greatest registered generation

        # ...

Write your evolver

Create a folder evolutions inside your guillotina app that contains the following files:


from .r20190118 import *  # noqa
# Don't forget to add all!


from guillotina_evolution.utils import register_evolution

async def evolver(container):
    async for item in container.async_items():
        item.title = item.title + ' (Migrated)'

Update the includeme() of your app:


def includeme(root):
    # ...


Run guillotina command g-evolve to run your migrations.

g -c config.yaml g-evolve

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for guillotina-evolution, version 1.1.2
Filename, size File type Python version Upload date Hashes
Filename, size guillotina_evolution-1.1.2.tar.gz (17.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page