title: How to discover table properties from SQLAlchemy mapped object
body: <p>I have a class mapped with a table, in my case in a declarative way, and I want to "discover" table properties, columns, names, relations, from this class:</p>
  
  <pre><code>engine = create_engine('sqlite:///' + databasePath, echo=True)
  
  # setting up root class for declarative declaration
  Base = declarative_base(bind=engine)
  
  class Ship(Base):
      __tablename__ = 'ships'
  
      id = Column(Integer, primary_key=True)
      name = Column(String(255))
  
      def __init__(self, name):
              self.name = name
  
      def __repr__(self):
              return "&lt;Ship('%s')&gt;" % (self.name)
  </code></pre>
  
  <p>So now my goal is from the "Ship" class to get the table columns and their properties from another piece of code. I guess I can deal with it using instrumentation but is there any way provided by the SQLAlchemy API?</p>