Mapper Configuration Mapping Python Classes Creating an Explicit Base Non-Dynamically (for use with mypy, similar)Declarative Mapping with Dataclasses and Attrs Imperative Mapping with Dataclasses and Attrs The class to be mappedThe properties dictionary Mapped Class Behavior Runtime Introspection of Mapped classes and Mappers Mapping Classes with Declarative Declarative TableMapping Declaratively with Reflected Tables Defining Mapped Properties with DeclarativeOther Declarative Mapping Directives Mixing in ColumnsMixing in deferred(), column_property(), and other MapperProperty classesControlling table inheritance with mixinsCombining Table/Mapper Arguments from Multiple Mixins Mapping Columns and Expressions Naming Columns Distinctly from Attribute NamesNaming All Columns with a PrefixMapping a Subset of Table Columns Using a HybridUsing a plain descriptor Changing Attribute Behavior Using Custom Datatypes at the Core LevelSynonyms Mapping Class Inheritance Hierarchies Relationships with Joined Inheritance Single Table Inheritance Relationships with Single Table Inheritance Concrete Table Inheritance Abstract Concrete ClassesRelationships with Concrete Inheritance Non-Traditional Mappings Mapping a Class against Arbitrary Subqueries Configuring a Version Counter Custom Version Counters / TypesProgrammatic or Conditional Version Counters