Skip to content

Use of deprecated asyncio.coroutines.iscoroutine #747

Closed

Description

@JelleZijlstra

Our implementation of deprecated currently uses asyncio.coroutines.iscoroutine, but that function is deprecated as of Python 3.14.

Activity

  1. woutdenolf commented on Jun 25, 2026

    @woutdenolf

    We fell over this with typing-extensions-4.16.0rc1 and pydantic:

    pip install --pre pydantic
    python -W error -c "import pydantic"   # Our CI always raises warnings as errors to force handling warnings from upstream dependencies
    /usr/local/lib/python3.14/site-packages/ewokscore/task.py:25: in <module>
        from pydantic import ValidationError
    /usr/local/lib/python3.14/site-packages/pydantic/__init__.py:5: in <module>
        from ._migration import getattr_migration
    /usr/local/lib/python3.14/site-packages/pydantic/_migration.py:5: in <module>
        from pydantic.warnings import PydanticDeprecatedSince20
    /usr/local/lib/python3.14/site-packages/pydantic/warnings.py:5: in <module>
        from .version import version_short
    /usr/local/lib/python3.14/site-packages/pydantic/version.py:7: in <module>
        from pydantic_core import __version__ as __pydantic_core_version__
    /usr/local/lib/python3.14/site-packages/pydantic_core/__init__.py:31: in <module>
        from .core_schema import CoreConfig, CoreSchema, CoreSchemaType, ErrorType
    /usr/local/lib/python3.14/site-packages/pydantic_core/core_schema.py:4373: in <module>
        @deprecated('`field_before_validator_function` is deprecated, use `with_info_before_validator_function` instead.')
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    /usr/local/lib/python3.14/site-packages/typing_extensions.py:3142: in __call__
        if asyncio.coroutines.iscoroutinefunction(arg):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    /usr/local/lib/python3.14/asyncio/coroutines.py:23: in iscoroutinefunction
        warnings._deprecated("asyncio.iscoroutinefunction",
    /usr/local/lib/python3.14/_py_warnings.py:830: in _deprecated
        _wm.warn(msg, DeprecationWarning, stacklevel=3)
    E   DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for removal in Python 3.16; use inspect.iscoroutinefunction() instead
  2. woutdenolf commented on Jun 25, 2026

    @woutdenolf

    I can confirm typing-extensions-4.16.0rc2 fixed it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions