]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Enforce positional only attribute using /
authorFederico Caselli <cfederico87@gmail.com>
Mon, 6 Nov 2023 21:59:45 +0000 (22:59 +0100)
committerFederico Caselli <cfederico87@gmail.com>
Mon, 13 Nov 2023 19:34:24 +0000 (19:34 +0000)
Change-Id: Ia73c5b0a2d2a23ed2cf80154fbfb476f4dc84b5f

16 files changed:
lib/sqlalchemy/ext/associationproxy.py
lib/sqlalchemy/ext/mutable.py
lib/sqlalchemy/orm/_orm_constructors.py
lib/sqlalchemy/orm/decl_api.py
lib/sqlalchemy/orm/query.py
lib/sqlalchemy/orm/relationships.py
lib/sqlalchemy/orm/scoping.py
lib/sqlalchemy/orm/session.py
lib/sqlalchemy/sql/_selectable_constructors.py
lib/sqlalchemy/sql/dml.py
lib/sqlalchemy/sql/elements.py
lib/sqlalchemy/sql/schema.py
lib/sqlalchemy/sql/selectable.py
lib/sqlalchemy/util/_collections.py
lib/sqlalchemy/util/_py_collections.py
tools/generate_tuple_map_overloads.py

index 31df13453487f46f5879aab8c69f4533d4baa0c4..3cca0ba7286c4d093b7bb04091fd05da2eee95b9 100644 (file)
@@ -1701,18 +1701,18 @@ class _AssociationDict(_AssociationCollection[_VT], MutableMapping[_KT, _VT]):
         return repr(dict(self))
 
     @overload
-    def get(self, __key: _KT) -> Optional[_VT]:
+    def get(self, __key: _KT, /) -> Optional[_VT]:
         ...
 
     @overload
-    def get(self, __key: _KT, default: Union[_VT, _T]) -> Union[_VT, _T]:
+    def get(self, __key: _KT, /, default: Union[_VT, _T]) -> Union[_VT, _T]:
         ...
 
     def get(
-        self, key: _KT, default: Optional[Union[_VT, _T]] = None
+        self, __key: _KT, /, default: Optional[Union[_VT, _T]] = None
     ) -> Union[_VT, _T, None]:
         try:
-            return self[key]
+            return self[__key]
         except KeyError:
             return default
 
@@ -1738,14 +1738,16 @@ class _AssociationDict(_AssociationCollection[_VT], MutableMapping[_KT, _VT]):
         return ValuesView(self)
 
     @overload
-    def pop(self, __key: _KT) -> _VT:
+    def pop(self, __key: _KT, /) -> _VT:
         ...
 
     @overload
-    def pop(self, __key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]:
+    def pop(
+        self, __key: _KT, /, default: Union[_VT, _T] = ...
+    ) -> Union[_VT, _T]:
         ...
 
-    def pop(self, __key: _KT, *arg: Any, **kw: Any) -> Union[_VT, _T]:
+    def pop(self, __key: _KT, /, *arg: Any, **kw: Any) -> Union[_VT, _T]:
         member = self.col.pop(__key, *arg, **kw)
         return self._get(member)
 
@@ -1842,19 +1844,19 @@ class _AssociationSet(_AssociationSingleItem[_T], MutableSet[_T]):
             yield self._get(member)
         return
 
-    def add(self, __element: _T) -> None:
+    def add(self, __element: _T, /) -> None:
         if __element not in self:
             self.col.add(self._create(__element))
 
     # for discard and remove, choosing a more expensive check strategy rather
     # than call self.creator()
-    def discard(self, __element: _T) -> None:
+    def discard(self, __element: _T, /) -> None:
         for member in self.col:
             if self._get(member) == __element:
                 self.col.discard(member)
                 break
 
-    def remove(self, __element: _T) -> None:
+    def remove(self, __element: _T, /) -> None:
         for member in self.col:
             if self._get(member) == __element:
                 self.col.discard(member)
index 0f82518aaa176d241c037f9e63898aade601d880..38ea9469eea95c073b10e184a2378ef49dad8da9 100644 (file)
@@ -828,15 +828,15 @@ class MutableDict(Mutable, Dict[_KT, _VT]):
     if TYPE_CHECKING:
 
         @overload
-        def pop(self, __key: _KT) -> _VT:
+        def pop(self, __key: _KT, /) -> _VT:
             ...
 
         @overload
-        def pop(self, __key: _KT, __default: _VT | _T) -> _VT | _T:
+        def pop(self, __key: _KT, default: _VT | _T, /) -> _VT | _T:
             ...
 
         def pop(
-            self, __key: _KT, __default: _VT | _T | None = None
+            self, __key: _KT, __default: _VT | _T | None = None, /
         ) -> _VT | _T:
             ...
 
index df36c38641677b7f57334cc270fcdcf305361a09..8c70a5d3848abd0df5282a0352e80f980bb671e7 100644 (file)
@@ -101,6 +101,7 @@ def mapped_column(
     __type_pos: Optional[
         Union[_TypeEngineArgument[Any], SchemaEventTarget]
     ] = None,
+    /,
     *args: SchemaEventTarget,
     init: Union[_NoArg, bool] = _NoArg.NO_ARG,
     repr: Union[_NoArg, bool] = _NoArg.NO_ARG,  # noqa: A002
@@ -544,6 +545,7 @@ def column_property(
 @overload
 def composite(
     _class_or_attr: _CompositeAttrType[Any],
+    /,
     *attrs: _CompositeAttrType[Any],
     group: Optional[str] = None,
     deferred: bool = False,
@@ -566,6 +568,7 @@ def composite(
 @overload
 def composite(
     _class_or_attr: Type[_CC],
+    /,
     *attrs: _CompositeAttrType[Any],
     group: Optional[str] = None,
     deferred: bool = False,
@@ -588,6 +591,7 @@ def composite(
 @overload
 def composite(
     _class_or_attr: Callable[..., _CC],
+    /,
     *attrs: _CompositeAttrType[Any],
     group: Optional[str] = None,
     deferred: bool = False,
@@ -611,6 +615,7 @@ def composite(
     _class_or_attr: Union[
         None, Type[_CC], Callable[..., _CC], _CompositeAttrType[Any]
     ] = None,
+    /,
     *attrs: _CompositeAttrType[Any],
     group: Optional[str] = None,
     deferred: bool = False,
index 80c85f13ad3ecbda56059b714401e16ae33179ad..bd18ce5f4b1a7f96c7ba5e697d85bfff76f56ee8 100644 (file)
@@ -1578,13 +1578,14 @@ class registry:
         ),
     )
     @overload
-    def mapped_as_dataclass(self, __cls: Type[_O]) -> Type[_O]:
+    def mapped_as_dataclass(self, __cls: Type[_O], /) -> Type[_O]:
         ...
 
     @overload
     def mapped_as_dataclass(
         self,
         __cls: Literal[None] = ...,
+        /,
         *,
         init: Union[_NoArg, bool] = ...,
         repr: Union[_NoArg, bool] = ...,  # noqa: A002
@@ -1600,6 +1601,7 @@ class registry:
     def mapped_as_dataclass(
         self,
         __cls: Optional[Type[_O]] = None,
+        /,
         *,
         init: Union[_NoArg, bool] = _NoArg.NO_ARG,
         repr: Union[_NoArg, bool] = _NoArg.NO_ARG,  # noqa: A002
index 5da7ee9b22840465a03ac69067eb6f34ac091c51..28f193bc6c324b2ce7d7f26f0aa9685db5df3fa1 100644 (file)
@@ -1492,13 +1492,13 @@ class Query(
 
     @overload
     def with_entities(
-        self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1]
+        self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], /
     ) -> RowReturningQuery[Tuple[_T0, _T1]]:
         ...
 
     @overload
     def with_entities(
-        self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], __ent2: _TCCA[_T2]
+        self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], __ent2: _TCCA[_T2], /
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2]]:
         ...
 
@@ -1509,6 +1509,7 @@ class Query(
         __ent1: _TCCA[_T1],
         __ent2: _TCCA[_T2],
         __ent3: _TCCA[_T3],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3]]:
         ...
 
@@ -1520,6 +1521,7 @@ class Query(
         __ent2: _TCCA[_T2],
         __ent3: _TCCA[_T3],
         __ent4: _TCCA[_T4],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3, _T4]]:
         ...
 
@@ -1532,6 +1534,7 @@ class Query(
         __ent3: _TCCA[_T3],
         __ent4: _TCCA[_T4],
         __ent5: _TCCA[_T5],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3, _T4, _T5]]:
         ...
 
@@ -1545,6 +1548,7 @@ class Query(
         __ent4: _TCCA[_T4],
         __ent5: _TCCA[_T5],
         __ent6: _TCCA[_T6],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6]]:
         ...
 
@@ -1559,6 +1563,7 @@ class Query(
         __ent5: _TCCA[_T5],
         __ent6: _TCCA[_T6],
         __ent7: _TCCA[_T7],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7]]:
         ...
 
@@ -1854,7 +1859,7 @@ class Query(
 
     @_generative
     def params(
-        self, __params: Optional[Dict[str, Any]] = None, **kw: Any
+        self, __params: Optional[Dict[str, Any]] = None, /, **kw: Any
     ) -> Self:
         r"""Add values for bind parameters which may have been
         specified in filter().
@@ -2013,6 +2018,7 @@ class Query(
             Literal[None, False, _NoArg.NO_ARG],
             _ColumnExpressionOrStrLabelArgument[Any],
         ] = _NoArg.NO_ARG,
+        /,
         *clauses: _ColumnExpressionOrStrLabelArgument[Any],
     ) -> Self:
         """Apply one or more ORDER BY criteria to the query and return
@@ -2064,6 +2070,7 @@ class Query(
             Literal[None, False, _NoArg.NO_ARG],
             _ColumnExpressionOrStrLabelArgument[Any],
         ] = _NoArg.NO_ARG,
+        /,
         *clauses: _ColumnExpressionOrStrLabelArgument[Any],
     ) -> Self:
         """Apply one or more GROUP BY criterion to the query and return
index 7ea30d7b180ae0c46dc089dab4e3ac93afc2b455..0a431d2cfb8f49bd8cc97c33ae7a2e366f5ccc68 100644 (file)
@@ -1831,7 +1831,7 @@ class RelationshipProperty(
             self.argument = cast("_RelationshipArgumentType[_T]", argument)
 
     @util.preload_module("sqlalchemy.orm.mapper")
-    def _setup_entity(self, __argument: Any = None) -> None:
+    def _setup_entity(self, __argument: Any = None, /) -> None:
         if "entity" in self.__dict__:
             return
 
index ab632bdd5644ddb18be0ee396dd3d634b78dfd40..15ece71dcd51292dcea64e6edcb2ba7c8479cde6 100644 (file)
@@ -1590,13 +1590,13 @@ class scoped_session(Generic[_S]):
 
     @overload
     def query(
-        self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1]
+        self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], /
     ) -> RowReturningQuery[Tuple[_T0, _T1]]:
         ...
 
     @overload
     def query(
-        self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], __ent2: _TCCA[_T2]
+        self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], __ent2: _TCCA[_T2], /
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2]]:
         ...
 
@@ -1607,6 +1607,7 @@ class scoped_session(Generic[_S]):
         __ent1: _TCCA[_T1],
         __ent2: _TCCA[_T2],
         __ent3: _TCCA[_T3],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3]]:
         ...
 
@@ -1618,6 +1619,7 @@ class scoped_session(Generic[_S]):
         __ent2: _TCCA[_T2],
         __ent3: _TCCA[_T3],
         __ent4: _TCCA[_T4],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3, _T4]]:
         ...
 
@@ -1630,6 +1632,7 @@ class scoped_session(Generic[_S]):
         __ent3: _TCCA[_T3],
         __ent4: _TCCA[_T4],
         __ent5: _TCCA[_T5],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3, _T4, _T5]]:
         ...
 
@@ -1643,6 +1646,7 @@ class scoped_session(Generic[_S]):
         __ent4: _TCCA[_T4],
         __ent5: _TCCA[_T5],
         __ent6: _TCCA[_T6],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6]]:
         ...
 
@@ -1657,6 +1661,7 @@ class scoped_session(Generic[_S]):
         __ent5: _TCCA[_T5],
         __ent6: _TCCA[_T6],
         __ent7: _TCCA[_T7],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7]]:
         ...
 
index d8619812719e998e564d14b40d27fe245dc6d426..4c3ab5ab62a5d52797c327e5fac32c9706bdb2ab 100644 (file)
@@ -2811,13 +2811,13 @@ class Session(_SessionClassMethods, EventTarget):
 
     @overload
     def query(
-        self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1]
+        self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], /
     ) -> RowReturningQuery[Tuple[_T0, _T1]]:
         ...
 
     @overload
     def query(
-        self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], __ent2: _TCCA[_T2]
+        self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], __ent2: _TCCA[_T2], /
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2]]:
         ...
 
@@ -2828,6 +2828,7 @@ class Session(_SessionClassMethods, EventTarget):
         __ent1: _TCCA[_T1],
         __ent2: _TCCA[_T2],
         __ent3: _TCCA[_T3],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3]]:
         ...
 
@@ -2839,6 +2840,7 @@ class Session(_SessionClassMethods, EventTarget):
         __ent2: _TCCA[_T2],
         __ent3: _TCCA[_T3],
         __ent4: _TCCA[_T4],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3, _T4]]:
         ...
 
@@ -2851,6 +2853,7 @@ class Session(_SessionClassMethods, EventTarget):
         __ent3: _TCCA[_T3],
         __ent4: _TCCA[_T4],
         __ent5: _TCCA[_T5],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3, _T4, _T5]]:
         ...
 
@@ -2864,6 +2867,7 @@ class Session(_SessionClassMethods, EventTarget):
         __ent4: _TCCA[_T4],
         __ent5: _TCCA[_T5],
         __ent6: _TCCA[_T6],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6]]:
         ...
 
@@ -2878,6 +2882,7 @@ class Session(_SessionClassMethods, EventTarget):
         __ent5: _TCCA[_T5],
         __ent6: _TCCA[_T6],
         __ent7: _TCCA[_T7],
+        /,
     ) -> RowReturningQuery[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7]]:
         ...
 
index 41e8b6eb164a4713ef12cc45b97a3b2726d1b8a2..27641c372cc08b0dfa282d2691a936122bd4df91 100644 (file)
@@ -140,6 +140,7 @@ def exists(
     __argument: Optional[
         Union[_ColumnsClauseArgument[Any], SelectBase, ScalarSelect[Any]]
     ] = None,
+    /,
 ) -> Exists:
     """Construct a new :class:`_expression.Exists` construct.
 
@@ -330,18 +331,20 @@ def outerjoin(
 
 
 @overload
-def select(__ent0: _TCCA[_T0]) -> Select[Tuple[_T0]]:
+def select(__ent0: _TCCA[_T0], /) -> Select[Tuple[_T0]]:
     ...
 
 
 @overload
-def select(__ent0: _TCCA[_T0], __ent1: _TCCA[_T1]) -> Select[Tuple[_T0, _T1]]:
+def select(
+    __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], /
+) -> Select[Tuple[_T0, _T1]]:
     ...
 
 
 @overload
 def select(
-    __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], __ent2: _TCCA[_T2]
+    __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], __ent2: _TCCA[_T2], /
 ) -> Select[Tuple[_T0, _T1, _T2]]:
     ...
 
@@ -352,6 +355,7 @@ def select(
     __ent1: _TCCA[_T1],
     __ent2: _TCCA[_T2],
     __ent3: _TCCA[_T3],
+    /,
 ) -> Select[Tuple[_T0, _T1, _T2, _T3]]:
     ...
 
@@ -363,6 +367,7 @@ def select(
     __ent2: _TCCA[_T2],
     __ent3: _TCCA[_T3],
     __ent4: _TCCA[_T4],
+    /,
 ) -> Select[Tuple[_T0, _T1, _T2, _T3, _T4]]:
     ...
 
@@ -375,6 +380,7 @@ def select(
     __ent3: _TCCA[_T3],
     __ent4: _TCCA[_T4],
     __ent5: _TCCA[_T5],
+    /,
 ) -> Select[Tuple[_T0, _T1, _T2, _T3, _T4, _T5]]:
     ...
 
@@ -388,6 +394,7 @@ def select(
     __ent4: _TCCA[_T4],
     __ent5: _TCCA[_T5],
     __ent6: _TCCA[_T6],
+    /,
 ) -> Select[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6]]:
     ...
 
@@ -402,6 +409,7 @@ def select(
     __ent5: _TCCA[_T5],
     __ent6: _TCCA[_T6],
     __ent7: _TCCA[_T7],
+    /,
 ) -> Select[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7]]:
     ...
 
@@ -417,6 +425,7 @@ def select(
     __ent6: _TCCA[_T6],
     __ent7: _TCCA[_T7],
     __ent8: _TCCA[_T8],
+    /,
 ) -> Select[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8]]:
     ...
 
@@ -433,6 +442,7 @@ def select(
     __ent7: _TCCA[_T7],
     __ent8: _TCCA[_T8],
     __ent9: _TCCA[_T9],
+    /,
 ) -> Select[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9]]:
     ...
 
index 4ca6ed338f40e9ae5e5ce017c94afe84dcf5c9d3..f798ab1e1867bddf8ff31a1c5cf805370d7c9d26 100644 (file)
@@ -1294,7 +1294,11 @@ class Insert(ValuesBase):
 
         @overload
         def returning(
-            self, __ent0: _TCCA[_T0], *, sort_by_parameter_order: bool = False
+            self,
+            __ent0: _TCCA[_T0],
+            /,
+            *,
+            sort_by_parameter_order: bool = False,
         ) -> ReturningInsert[Tuple[_T0]]:
             ...
 
@@ -1303,6 +1307,7 @@ class Insert(ValuesBase):
             self,
             __ent0: _TCCA[_T0],
             __ent1: _TCCA[_T1],
+            /,
             *,
             sort_by_parameter_order: bool = False,
         ) -> ReturningInsert[Tuple[_T0, _T1]]:
@@ -1314,6 +1319,7 @@ class Insert(ValuesBase):
             __ent0: _TCCA[_T0],
             __ent1: _TCCA[_T1],
             __ent2: _TCCA[_T2],
+            /,
             *,
             sort_by_parameter_order: bool = False,
         ) -> ReturningInsert[Tuple[_T0, _T1, _T2]]:
@@ -1326,6 +1332,7 @@ class Insert(ValuesBase):
             __ent1: _TCCA[_T1],
             __ent2: _TCCA[_T2],
             __ent3: _TCCA[_T3],
+            /,
             *,
             sort_by_parameter_order: bool = False,
         ) -> ReturningInsert[Tuple[_T0, _T1, _T2, _T3]]:
@@ -1339,6 +1346,7 @@ class Insert(ValuesBase):
             __ent2: _TCCA[_T2],
             __ent3: _TCCA[_T3],
             __ent4: _TCCA[_T4],
+            /,
             *,
             sort_by_parameter_order: bool = False,
         ) -> ReturningInsert[Tuple[_T0, _T1, _T2, _T3, _T4]]:
@@ -1353,6 +1361,7 @@ class Insert(ValuesBase):
             __ent3: _TCCA[_T3],
             __ent4: _TCCA[_T4],
             __ent5: _TCCA[_T5],
+            /,
             *,
             sort_by_parameter_order: bool = False,
         ) -> ReturningInsert[Tuple[_T0, _T1, _T2, _T3, _T4, _T5]]:
@@ -1368,6 +1377,7 @@ class Insert(ValuesBase):
             __ent4: _TCCA[_T4],
             __ent5: _TCCA[_T5],
             __ent6: _TCCA[_T6],
+            /,
             *,
             sort_by_parameter_order: bool = False,
         ) -> ReturningInsert[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6]]:
@@ -1384,6 +1394,7 @@ class Insert(ValuesBase):
             __ent5: _TCCA[_T5],
             __ent6: _TCCA[_T6],
             __ent7: _TCCA[_T7],
+            /,
             *,
             sort_by_parameter_order: bool = False,
         ) -> ReturningInsert[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7]]:
@@ -1596,18 +1607,20 @@ class Update(DMLWhereBase, ValuesBase):
         # statically generated** by tools/generate_tuple_map_overloads.py
 
         @overload
-        def returning(self, __ent0: _TCCA[_T0]) -> ReturningUpdate[Tuple[_T0]]:
+        def returning(
+            self, __ent0: _TCCA[_T0], /
+        ) -> ReturningUpdate[Tuple[_T0]]:
             ...
 
         @overload
         def returning(
-            self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1]
+            self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], /
         ) -> ReturningUpdate[Tuple[_T0, _T1]]:
             ...
 
         @overload
         def returning(
-            self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], __ent2: _TCCA[_T2]
+            self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], __ent2: _TCCA[_T2], /
         ) -> ReturningUpdate[Tuple[_T0, _T1, _T2]]:
             ...
 
@@ -1618,6 +1631,7 @@ class Update(DMLWhereBase, ValuesBase):
             __ent1: _TCCA[_T1],
             __ent2: _TCCA[_T2],
             __ent3: _TCCA[_T3],
+            /,
         ) -> ReturningUpdate[Tuple[_T0, _T1, _T2, _T3]]:
             ...
 
@@ -1629,6 +1643,7 @@ class Update(DMLWhereBase, ValuesBase):
             __ent2: _TCCA[_T2],
             __ent3: _TCCA[_T3],
             __ent4: _TCCA[_T4],
+            /,
         ) -> ReturningUpdate[Tuple[_T0, _T1, _T2, _T3, _T4]]:
             ...
 
@@ -1641,6 +1656,7 @@ class Update(DMLWhereBase, ValuesBase):
             __ent3: _TCCA[_T3],
             __ent4: _TCCA[_T4],
             __ent5: _TCCA[_T5],
+            /,
         ) -> ReturningUpdate[Tuple[_T0, _T1, _T2, _T3, _T4, _T5]]:
             ...
 
@@ -1654,6 +1670,7 @@ class Update(DMLWhereBase, ValuesBase):
             __ent4: _TCCA[_T4],
             __ent5: _TCCA[_T5],
             __ent6: _TCCA[_T6],
+            /,
         ) -> ReturningUpdate[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6]]:
             ...
 
@@ -1668,6 +1685,7 @@ class Update(DMLWhereBase, ValuesBase):
             __ent5: _TCCA[_T5],
             __ent6: _TCCA[_T6],
             __ent7: _TCCA[_T7],
+            /,
         ) -> ReturningUpdate[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7]]:
             ...
 
@@ -1734,18 +1752,20 @@ class Delete(DMLWhereBase, UpdateBase):
         # statically generated** by tools/generate_tuple_map_overloads.py
 
         @overload
-        def returning(self, __ent0: _TCCA[_T0]) -> ReturningDelete[Tuple[_T0]]:
+        def returning(
+            self, __ent0: _TCCA[_T0], /
+        ) -> ReturningDelete[Tuple[_T0]]:
             ...
 
         @overload
         def returning(
-            self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1]
+            self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], /
         ) -> ReturningDelete[Tuple[_T0, _T1]]:
             ...
 
         @overload
         def returning(
-            self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], __ent2: _TCCA[_T2]
+            self, __ent0: _TCCA[_T0], __ent1: _TCCA[_T1], __ent2: _TCCA[_T2], /
         ) -> ReturningDelete[Tuple[_T0, _T1, _T2]]:
             ...
 
@@ -1756,6 +1776,7 @@ class Delete(DMLWhereBase, UpdateBase):
             __ent1: _TCCA[_T1],
             __ent2: _TCCA[_T2],
             __ent3: _TCCA[_T3],
+            /,
         ) -> ReturningDelete[Tuple[_T0, _T1, _T2, _T3]]:
             ...
 
@@ -1767,6 +1788,7 @@ class Delete(DMLWhereBase, UpdateBase):
             __ent2: _TCCA[_T2],
             __ent3: _TCCA[_T3],
             __ent4: _TCCA[_T4],
+            /,
         ) -> ReturningDelete[Tuple[_T0, _T1, _T2, _T3, _T4]]:
             ...
 
@@ -1779,6 +1801,7 @@ class Delete(DMLWhereBase, UpdateBase):
             __ent3: _TCCA[_T3],
             __ent4: _TCCA[_T4],
             __ent5: _TCCA[_T5],
+            /,
         ) -> ReturningDelete[Tuple[_T0, _T1, _T2, _T3, _T4, _T5]]:
             ...
 
@@ -1792,6 +1815,7 @@ class Delete(DMLWhereBase, UpdateBase):
             __ent4: _TCCA[_T4],
             __ent5: _TCCA[_T5],
             __ent6: _TCCA[_T6],
+            /,
         ) -> ReturningDelete[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6]]:
             ...
 
@@ -1806,6 +1830,7 @@ class Delete(DMLWhereBase, UpdateBase):
             __ent5: _TCCA[_T5],
             __ent6: _TCCA[_T6],
             __ent7: _TCCA[_T7],
+            /,
         ) -> ReturningDelete[Tuple[_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7]]:
             ...
 
index 48dfd25829a30213c8e6b267491f1246693052ca..49505168c08e196f341240e7e3f9e6b7411d3308 100644 (file)
@@ -560,6 +560,7 @@ class ClauseElement(
     def unique_params(
         self,
         __optionaldict: Optional[Dict[str, Any]] = None,
+        /,
         **kwargs: Any,
     ) -> Self:
         """Return a copy with :func:`_expression.bindparam` elements
@@ -576,6 +577,7 @@ class ClauseElement(
     def params(
         self,
         __optionaldict: Optional[Mapping[str, Any]] = None,
+        /,
         **kwargs: Any,
     ) -> Self:
         """Return a copy with :func:`_expression.bindparam` elements
index d4e3f4cff515e52c3567781f7ea46ea6fbcdca49..507bb92e302e9b79c67e155ddf48beee9b271b9e 100644 (file)
@@ -1515,6 +1515,7 @@ class Column(DialectKWArgs, SchemaItem, ColumnClause[_T]):
         __type_pos: Optional[
             Union[_TypeEngineArgument[_T], SchemaEventTarget]
         ] = None,
+        /,
         *args: SchemaEventTarget,
         name: Optional[str] = None,
         type_: Optional[_TypeEngineArgument[_T]] = None,
index 91b939e0af50928b099f6b65a184ebea96fb3f34..bbc7b0b549181aab2fdbed08e3f50e0e5e5f2fbf 100644 (file)
@@ -4150,6 +4150,7 @@ class GenerativeSelect(SelectBase, Generative):
             Literal[None, _NoArg.NO_ARG],
             _ColumnExpressionOrStrLabelArgument[Any],
         ] = _NoArg.NO_ARG,
+        /,
         *clauses: _ColumnExpressionOrStrLabelArgument[Any],
     ) -> Self:
         r"""Return a new selectable with the given list of ORDER BY
@@ -4197,6 +4198,7 @@ class GenerativeSelect(SelectBase, Generative):
             Literal[None, _NoArg.NO_ARG],
             _ColumnExpressionOrStrLabelArgument[Any],
         ] = _NoArg.NO_ARG,
+        /,
         *clauses: _ColumnExpressionOrStrLabelArgument[Any],
     ) -> Self:
         r"""Return a new selectable with the given list of GROUP BY
@@ -6633,6 +6635,7 @@ class Exists(UnaryExpression[bool]):
         __argument: Optional[
             Union[_ColumnsClauseArgument[Any], SelectBase, ScalarSelect[Any]]
         ] = None,
+        /,
     ):
         s: ScalarSelect[Any]
 
index a0b1977ee5096594b55d47b699fe54a18f6c3a1f..e4677f73e15395fcaa2c94db2cf7c6d17d235dae 100644 (file)
@@ -289,7 +289,7 @@ sort_dictionary = _ordered_dictionary_sort
 
 
 class WeakSequence(Sequence[_T]):
-    def __init__(self, __elements: Sequence[_T] = ()):
+    def __init__(self, __elements: Sequence[_T] = (), /):
         # adapted from weakref.WeakKeyDictionary, prevent reference
         # cycles in the collection itself
         def _remove(item, selfref=weakref.ref(self)):
index 7dba5092bcf0b44125ff7b83422cd9027e3a6ab3..9dc0b8e57dd17461a601b347af570d06f467cfca 100644 (file)
@@ -142,18 +142,18 @@ class immutabledict(ImmutableDictBase[_KT, _VT]):
         return "immutabledict(%s)" % dict.__repr__(self)
 
     # PEP 584
-    def __ior__(self, __value: Any) -> NoReturn:  # type: ignore
+    def __ior__(self, __value: Any, /) -> NoReturn:  # type: ignore
         self._readonly()
 
     def __or__(  # type: ignore[override]
-        self, __value: Mapping[_KT, _VT]
+        self, __value: Mapping[_KT, _VT], /
     ) -> immutabledict[_KT, _VT]:
         return immutabledict(
             super().__or__(__value),  # type: ignore[call-overload]
         )
 
     def __ror__(  # type: ignore[override]
-        self, __value: Mapping[_KT, _VT]
+        self, __value: Mapping[_KT, _VT], /
     ) -> immutabledict[_KT, _VT]:
         return immutabledict(
             super().__ror__(__value),  # type: ignore[call-overload]
index 476636b1d0f60c410fcfd39d6b934d9d941d4ae8..e886b7fddcc42c73f5e8f687818f7ab8527ca11f 100644 (file)
@@ -83,25 +83,22 @@ def process_module(modname: str, filename: str, cmd: code_writer_cmd) -> str:
 
                 for num_args in range(start_index, end_index + 1):
                     combinations = [
-                        [
-                            f"__ent{arg}: _TCCA[_T{arg}]"
-                            for arg in range(num_args)
-                        ]
+                        f"__ent{arg}: _TCCA[_T{arg}]"
+                        for arg in range(num_args)
                     ]
-                    for combination in combinations:
-                        buf.write(
-                            textwrap.indent(
-                                f"""
+                    buf.write(
+                        textwrap.indent(
+                            f"""
 @overload
 def {current_fnname}(
-    {'self, ' if use_self else ''}{", ".join(combination)}{extra_args}
+    {'self, ' if use_self else ''}{", ".join(combinations)},/{extra_args}
 ) -> {return_type}[Tuple[{', '.join(f'_T{i}' for i in range(num_args))}]]:
     ...
 
 """,  # noqa: E501
-                                indent,
-                            )
+                            indent,
                         )
+                    )
 
             if in_block and line.startswith(
                 f"{indent}# END OVERLOADED FUNCTIONS {given_fnname}"