SQLAlchemy sintaxis declarativa con carga automática (reflexión) en pilones

Me gustaría usar la carga automática para usar una base de datos existente. Sé cómo hacerlo sin sintaxis declarativa (modelo / _en eso_.py):

def init_model(engine):
    """Call me before using any of the tables or classes in the model"""
    t_events = Table('events', Base.metadata, schema='events', autoload=True, autoload_with=engine)
    orm.mapper(Event, t_events)

    Session.configure(bind=engine)  

class Event(object):
    pass

Esto funciona bien, pero me gustaría usar la sintaxis declarativa:

class Event(Base):
    __tablename__ = 'events'
    __table_args__ = {'schema': 'events', 'autoload': True}

Desafortunadamente, de esta manera obtengo:

sqlalchemy.exc.UnboundExecutionError: ningún motor está vinculado a los metadatos de esta tabla. Pase un motor a la tabla a través de autoload_with = <someengine>, o asocie MetaData con un motor a través de metadata.bind = <someengine>

El problema aquí es que no sé de dónde obtener el motor (para usarlo en autoload_with) en la etapa de importación del modelo (está disponible en init_model ()). Traté de agregar

meta.Base.metadata.bind(engine)

a environment.py pero no funciona. ¿Alguien ha encontrado alguna solución elegante?

Respuestas a la pregunta(3)

Su respuesta a la pregunta