Try using [SQLAutoCode](https://code.google.com/p/sqlautocode/). Just point it at your database, and it'll generate all the SQLA models for you, then you can tweak it as required— it's a big time saver. SQLAlchemy can also [reflect existing tables](http://docs.sqlalchemy.org/en/rel_0_8/core/reflection.html) if you prefer the discovery route at runtime.