Skip to content

Python 3.14 compatibility #499

@ekrichbaum

Description

@ekrichbaum

In common/support.py the behavior changes in more current python versions within perform_ptr_lookups.

In earlier python, asyncio.get_event_loop() seemed to create a loop if none existed. In 3.14 the current code throws an exception.

    # asyncio.get_event_loop() does not automatically create a thread in 3.10+ (3.14 for sure)
    try:
        loop = asyncio.get_event_loop()
    except RuntimeError:
        loop = asyncio.new_event_loop()

But this doesn't seem to fully address once we get down to the asyncio.gather element. Need a little more elegant way of handling this function new while maintaining the backwards compatibility.

DNSResolver, also, no longer seems to need the loop=loop passed in, but doesn't scream.

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