-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Python Drivers
-
None
-
None
-
None
-
None
-
None
-
None
Many of the methods, especially the builder methods (limit, clone, _query_spec, sort, where, ..., of AsyncCursor/Cursor differ only in their return or argument type annotations (async or sync versions of classes). By using typing.Self as the return type and _Agnostic* in parameter types, we can consolidate these methods into the shared _AgnosticCursor base class.
Note that typing.Self was added in Python 3.11, so older versions of Python will have to import from typing_extensions under a if TYPE_CHECKING guard.