import operator from typing import cast from sqlalchemy import Column from sqlalchemy.testing import eq_ from sqlalchemy.testing import fixtures class TestGenerics(fixtures.TestBase): def test_traversible_is_generic(self): """test #6759""" col = Column[int] # looked in the source for typing._GenericAlias. # col.__origin__ is Column, but it's not public API. # __reduce__ could change too but seems good enough for now eq_(cast(object, col).__reduce__(), (operator.getitem, (Column, int)))