Me doy cuenta de que este es un hilo antiguo, pero lo encontré con el mismo problema y no pude encontrar una solución en ningún otro lugar.
Después de experimentar un poco, pude resolver esto con el siguiente código:
TABLE_ID = Sequence('table_id_seq', start=1000)
class Table(Base):
__tablename__ = 'table'
id = Column(Integer, TABLE_ID, primary_key=True, server_default=TABLE_ID.next_value())
De esta manera, la secuencia se crea y se usa como valor predeterminado para la columna id
, con el mismo comportamiento que si SQLAlchemy lo creara implícitamente.