restored = None
try:
- dataclass_callable(
+ dataclass_callable( # type: ignore[call-overload]
klass,
- **{
+ **{ # type: ignore[call-overload,unused-ignore]
k: v
for k, v in dataclass_setup_arguments.items()
if v is not _NoArg.NO_ARG
def clear(self) -> None:
"""Clear all Table objects from this MetaData."""
- dict.clear(self.tables) # type: ignore
+ dict.clear(self.tables)
self._schemas.clear()
self._fk_memos.clear()
# we are an alias of a table and we are not derived from an
# alias of a table (which nonetheless may be the same table
# as ours) so, same thing
- return col # type: ignore
+ return col
else:
# other cases where we are a selectable and the element
# is another join or selectable that contains a table which our
self._list.remove(element)
def clear(self) -> None:
- set.clear(self) # type: ignore[arg-type]
+ set.clear(self)
self._list = []
def __getitem__(self, key: cython.Py_ssize_t) -> _T:
def result_one(res: Result[int, str]) -> None:
# EXPECTED_ROW_TYPE: Row[int, str]
reveal_type(res.one())
- # EXPECTED_ROW_TYPE: Optional[Row[int, str]]
+ # EXPECTED_ROW_TYPE: Row[int, str] | None
reveal_type(res.one_or_none())
- # EXPECTED_ROW_TYPE: Optional[Row[int, str]]
+ # EXPECTED_ROW_TYPE: Row[int, str] | None
reveal_type(res.fetchone())
- # EXPECTED_ROW_TYPE: Optional[Row[int, str]]
+ # EXPECTED_ROW_TYPE: Row[int, str] | None
reveal_type(res.first())
# EXPECTED_ROW_TYPE: Sequence[Row[int, str]]
reveal_type(res.all())
# EXPECTED_TYPE: int
reveal_type(res.scalar_one())
- # EXPECTED_TYPE: Union[int, None]
+ # EXPECTED_TYPE: int | None
reveal_type(res.scalar_one_or_none())
- # EXPECTED_TYPE: Union[int, None]
+ # EXPECTED_TYPE: int | None
reveal_type(res.scalar())
# EXPECTED_TYPE: str
reveal_type(tis.data)
-# EXPECTED_RE_TYPE: .*Union\[builtins.int, None\]
+# EXPECTED_RE_TYPE: .*builtins.int \| None
reveal_type(tis.y)
tis.data = "some other data"
if typing.TYPE_CHECKING:
- # EXPECTED_RE_TYPE: sqlalchemy.*.InstrumentedAttribute\[Union\[builtins.str, None\]\]
+ # EXPECTED_RE_TYPE: sqlalchemy.*.InstrumentedAttribute\[builtins.str \| None\]
reveal_type(User.extra)
- # EXPECTED_RE_TYPE: sqlalchemy.*.InstrumentedAttribute\[Union\[builtins.str, None\]\]
+ # EXPECTED_RE_TYPE: sqlalchemy.*.InstrumentedAttribute\[builtins.str \| None\]
reveal_type(User.extra_name)
# EXPECTED_RE_TYPE: sqlalchemy.*.InstrumentedAttribute\[builtins.str\*?\]
col_alt = column("alt", Integer)
tbl = table("mytable", col_id)
- # EXPECTED_TYPE: Union[ColumnClause[Any], None]
+ # EXPECTED_TYPE: ColumnClause[Any] | None
reveal_type(tbl.c.get("id"))
- # EXPECTED_TYPE: Union[ColumnClause[Any], None]
+ # EXPECTED_TYPE: ColumnClause[Any] | None
reveal_type(tbl.c.get("id", None))
- # EXPECTED_TYPE: Union[ColumnClause[Any], ColumnClause[int]]
+ # EXPECTED_TYPE: ColumnClause[Any] | ColumnClause[int]
reveal_type(tbl.c.get("alt", col_alt))
col: ColumnElement[Any] = tbl.c.get("foo", literal("bar"))
print(col)
# EXPECTED_TYPE: BinaryExpression[Any]
reveal_type(col.op("->>")("field"))
-# EXPECTED_TYPE: Union[BinaryExpression[Any], Grouping[Any]]
+# EXPECTED_TYPE: BinaryExpression[Any] | Grouping[Any]
reveal_type(col.op("->>")("field").self_group())
# EXPECTED_RE_TYPE: sqlalchemy..*BinaryExpression\[builtins.bool\]
reveal_type(expr2)
- # EXPECTED_RE_TYPE: sqlalchemy..*ColumnElement\[Union\[builtins.float, .*\.Decimal\]\]
+ # EXPECTED_RE_TYPE: sqlalchemy..*ColumnElement\[builtins.float | .*\.Decimal\]
reveal_type(expr3)
# EXPECTED_RE_TYPE: sqlalchemy..*UnaryExpression\[builtins.int.?\]
r1 = result.scalar()
- # EXPECTED_RE_TYPE: Union\[builtins.str\*?, None\]
+ # EXPECTED_RE_TYPE: builtins.str \| None
reveal_type(r1)
r2 = result.scalar_one()
r3 = result.scalar_one_or_none()
- # EXPECTED_RE_TYPE: Union\[builtins.str\*?, None\]
+ # EXPECTED_RE_TYPE: builtins.str \| None
reveal_type(r3)
r4 = result.scalars()
r1 = await result.scalar()
- # EXPECTED_RE_TYPE: Union\[builtins.str\*?, None\]
+ # EXPECTED_RE_TYPE: builtins.str \| None
reveal_type(r1)
r2 = await result.scalar_one()
r3 = await result.scalar_one_or_none()
- # EXPECTED_RE_TYPE: Union\[builtins.str\*?, None\]
+ # EXPECTED_RE_TYPE: builtins.str \| None
reveal_type(r3)
r4 = result.scalars()
x = result.scalar()
- # EXPECTED_RE_TYPE: Union\[builtins.str\*?, None\]
+ # EXPECTED_RE_TYPE: builtins.str \| None
reveal_type(x)
def t_connection_scalar() -> None:
obj = connection.scalar(single_stmt)
- # EXPECTED_RE_TYPE: Union\[builtins.str\*?, None\]
+ # EXPECTED_RE_TYPE: builtins.str \| None
reveal_type(obj)
def t_session_scalar() -> None:
obj = session.scalar(single_stmt)
- # EXPECTED_RE_TYPE: Union\[builtins.str\*?, None\]
+ # EXPECTED_RE_TYPE: builtins.str \| None
reveal_type(obj)
async def t_async_connection_scalar() -> None:
obj = await async_connection.scalar(single_stmt)
- # EXPECTED_RE_TYPE: Union\[builtins.str\*?, None\]
+ # EXPECTED_RE_TYPE: builtins.str \| None
reveal_type(obj)
async def t_async_session_scalar() -> None:
obj = await async_session.scalar(single_stmt)
- # EXPECTED_RE_TYPE: Union\[builtins.str\*?, None\]
+ # EXPECTED_RE_TYPE: builtins.str \| None
reveal_type(obj)
[testenv:pep484]
deps=
greenlet >= 1
- mypy >= 1.16.0
+ mypy >= 1.17.0
types-greenlet
commands =
mypy {env:MYPY_COLOR} ./lib/sqlalchemy
pytest>=7.0.0rc1,<8.4
pytest-xdist
greenlet >= 1
- mypy >= 1.16
+ mypy >= 1.17
types-greenlet
extras=
{[greenletextras]extras}