Sei que este é um tópico antigo, mas me deparei com o mesmo problema e não consegui encontrar uma solução em nenhum outro lugar.
Depois de algumas experiências, consegui resolver isso com o seguinte 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())
Desta forma a sequência é criada e é usada como valor padrão para a coluna
id
, com o mesmo comportamento como se fosse criado implicitamente pelo SQLAlchemy.