There is an api (alembic.command), but it seems to do something strange to the cherrypy logging.
I can look into it some more though.