Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 26, 2026

Bumps setuptools from 80.10.1 to 80.10.2.

Changelog

Sourced from setuptools's changelog.

v80.10.2

Bugfixes

  • Update vendored dependencies. (#5159)

Misc

Commits
  • 5cf2d08 Bump version: 80.10.1 → 80.10.2
  • 852cd5e Merge pull request #5166 from pypa/bugfix/5159-vendor-bin-free
  • 11115ee Suppress deprecation warning.
  • 5cf9185 Update vendored dependencies.
  • cf59f41 Delete all binaries generated by vendored package install.
  • 89a5981 Add missing newsfragments
  • c0114af Postpone deprecation warnings related to PEP 639 to 2027-Feb-18 (#5115)
  • de07603 Revert "[CI] Constraint transient test dependency on pyobjc" (#5128)
  • 3afd5d6 Revert "[CI] Constraint transient test dependency on pyobjc"
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Jan 26, 2026
@github-actions github-actions bot enabled auto-merge (squash) January 26, 2026 11:57
@codecov
Copy link

codecov bot commented Jan 26, 2026

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
4310 1 4309 82
View the full list of 1 ❄️ flaky test(s)
tests.test_client_middleware::test_middleware_uses_session_avoids_recursion_with_path_check[pyloop]

Flake rate in main: 4.17% (Passed 23 times, Failed 1 times)

Stack Traces | 2.4s run time
self = <aiohttp.connector.TCPConnector object at 0x00000181D2F54580>
addr_infos = []
req = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF280>
timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
client_error = <class 'aiohttp.client_exceptions.ClientConnectorError'>
args = (functools.partial(<class 'aiohttp.client_proto.ResponseHandler'>, loop=<ProactorEventLoop running=False closed=False debug=False>),)
kwargs = {'server_hostname': None, 'ssl': None}

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92m_wrap_create_connection#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        *args: Any,#x1B[90m#x1B[39;49;00m
        addr_infos: #x1B[96mlist#x1B[39;49;00m[AddrInfoType],#x1B[90m#x1B[39;49;00m
        req: ClientRequest,#x1B[90m#x1B[39;49;00m
        timeout: #x1B[33m"#x1B[39;49;00m#x1B[33mClientTimeout#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        client_error: #x1B[96mtype#x1B[39;49;00m[#x1B[96mException#x1B[39;49;00m] = ClientConnectorError,#x1B[90m#x1B[39;49;00m
        **kwargs: Any,#x1B[90m#x1B[39;49;00m
    ) -> #x1B[96mtuple#x1B[39;49;00m[asyncio.Transport, ResponseHandler]:#x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m ceil_timeout(#x1B[90m#x1B[39;49;00m
                timeout.sock_connect, ceil_threshold=timeout.ceil_threshold#x1B[90m#x1B[39;49;00m
            ):#x1B[90m#x1B[39;49;00m
>               sock = #x1B[94mawait#x1B[39;49;00m aiohappyeyeballs.start_connection(#x1B[90m#x1B[39;49;00m
                    addr_infos=addr_infos,#x1B[90m#x1B[39;49;00m
                    local_addr_infos=#x1B[96mself#x1B[39;49;00m._local_addr_infos,#x1B[90m#x1B[39;49;00m
                    happy_eyeballs_delay=#x1B[96mself#x1B[39;49;00m._happy_eyeballs_delay,#x1B[90m#x1B[39;49;00m
                    interleave=#x1B[96mself#x1B[39;49;00m._interleave,#x1B[90m#x1B[39;49;00m
                    loop=#x1B[96mself#x1B[39;49;00m._loop,#x1B[90m#x1B[39;49;00m
                    socket_factory=#x1B[96mself#x1B[39;49;00m._socket_factory,#x1B[90m#x1B[39;49;00m
                )#x1B[90m#x1B[39;49;00m

addr_infos = []
args       = (functools.partial(<class 'aiohttp.client_proto.ResponseHandler'>, loop=<ProactorEventLoop running=False closed=False debug=False>),)
client_error = <class 'aiohttp.client_exceptions.ClientConnectorError'>
kwargs     = {'server_hostname': None, 'ssl': None}
req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF280>
self       = <aiohttp.connector.TCPConnector object at 0x00000181D2F54580>
timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)

#x1B[1m#x1B[31maiohttp\connector.py#x1B[0m:1279: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\aiohappyeyeballs\impl.py#x1B[0m:127: in start_connection
    #x1B[0m#x1B[94mraise#x1B[39;49;00m first_exception#x1B[90m#x1B[39;49;00m
        _          = [ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None), ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None)]
        addr_infos = [(<AddressFamily.AF_INET6: 23>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('::1', 1270, 0, 0)), (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 1270))]
        all_exceptions = None
        current_loop = <ProactorEventLoop running=False closed=False debug=False>
        exceptions = None
        first_exception = ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None)
        happy_eyeballs_delay = 0.25
        interleave = 1
        local_addr_infos = None
        loop       = <ProactorEventLoop running=False closed=False debug=False>
        model      = '[WinError 1225] The remote computer refused the network connection'
        open_sockets = None
        single_addr_info = False
        sock       = None
        socket_factory = None
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\aiohappyeyeballs\_staggered.py#x1B[0m:132: in run_one_coro
    #x1B[0mresult = #x1B[94mawait#x1B[39;49;00m coro_fn()#x1B[90m#x1B[39;49;00m
        coro_fn    = functools.partial(<function _connect_sock at 0x00000181CF3F35B0>, <ProactorEventLoop running=False closed=False debug=...5, None)]], (<AddressFamily.AF_INET6: 23>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('::1', 1270, 0, 0)), None, set(), None)
        exceptions = [ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None), ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None)]
        start_next = <Future finished result=None>
        this_index = 0
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\aiohappyeyeballs\impl.py#x1B[0m:208: in _connect_sock
    #x1B[0m#x1B[94mawait#x1B[39;49;00m loop.sock_connect(sock, address)#x1B[90m#x1B[39;49;00m
        _          = ''
        addr_info  = (<AddressFamily.AF_INET6: 23>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('::1', 1270, 0, 0))
        address    = ('::1', 1270, 0, 0)
        exceptions = None
        family     = <AddressFamily.AF_INET6: 23>
        local_addr_infos = None
        loop       = <ProactorEventLoop running=False closed=False debug=False>
        my_exceptions = None
        open_sockets = set()
        proto      = 6
        sock       = <socket.socket [closed] fd=-1, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=6>
        socket_factory = None
        type_      = <SocketKind.SOCK_STREAM: 1>
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.10.11\x64\lib\asyncio\proactor_events.py#x1B[0m:709: in sock_connect
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._proactor.connect(sock, address)#x1B[90m#x1B[39;49;00m
        address    = ('::1', 1270, 0, 0)
        self       = <ProactorEventLoop running=False closed=False debug=False>
        sock       = <socket.socket [closed] fd=-1, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=6>
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.10.11\x64\lib\asyncio\windows_events.py#x1B[0m:826: in _poll
    #x1B[0mvalue = callback(transferred, key, ov)#x1B[90m#x1B[39;49;00m
        address    = 1657082181328
        callback   = <function IocpProactor.connect.<locals>.finish_connect at 0x00000181D1CB7760>
        err        = 1225
        f          = None
        key        = 0
        ms         = 0
        obj        = <socket.socket [closed] fd=-1, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=6>
        ov         = <_overlapped.Overlapped object at 0x00000181D1CB76C0>
        self       = <IocpProactor overlapped#=3 result#=0>
        status     = None
        timeout    = 29.968999999999994
        transferred = 0
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

trans = 0, key = 0, ov = <_overlapped.Overlapped object at 0x00000181D1CB76C0>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mfinish_connect#x1B[39;49;00m(trans, key, ov):#x1B[90m#x1B[39;49;00m
>       ov.getresult()#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       ConnectionRefusedError: [WinError 1225] The remote computer refused the network connection#x1B[0m

conn       = <socket.socket [closed] fd=-1, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=6>
key        = 0
ov         = <_overlapped.Overlapped object at 0x00000181D1CB76C0>
trans      = 0

#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.10.11\x64\lib\asyncio\windows_events.py#x1B[0m:613: ConnectionRefusedError

#x1B[33mThe above exception was the direct cause of the following exception:#x1B[0m

aiohttp_server = <function aiohttp_server.<locals>.go at 0x00000181D1CB7130>

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_middleware_uses_session_avoids_recursion_with_path_check#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        aiohttp_server: AiohttpServer,#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Test that middleware can avoid infinite recursion using a path check."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        log_collector: #x1B[96mlist#x1B[39;49;00m[#x1B[96mdict#x1B[39;49;00m[#x1B[96mstr#x1B[39;49;00m, #x1B[96mstr#x1B[39;49;00m]] = []#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mlog_api_handler#x1B[39;49;00m(request: web.Request) -> web.Response:#x1B[90m#x1B[39;49;00m
    #x1B[90m        #x1B[39;49;00m#x1B[33m"""Handle log API requests."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            data: #x1B[96mdict#x1B[39;49;00m[#x1B[96mstr#x1B[39;49;00m, #x1B[96mstr#x1B[39;49;00m] = #x1B[94mawait#x1B[39;49;00m request.json()#x1B[90m#x1B[39;49;00m
            log_collector.append(data)#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m web.Response(text=#x1B[33m"#x1B[39;49;00m#x1B[33mOK#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mmain_handler#x1B[39;49;00m(request: web.Request) -> web.Response:#x1B[90m#x1B[39;49;00m
    #x1B[90m        #x1B[39;49;00m#x1B[33m"""Handle main server requests."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m web.Response(text=#x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mHello from #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mrequest.path#x1B[33m}#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[90m# Create log API server#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        log_app = web.Application()#x1B[90m#x1B[39;49;00m
        log_app.router.add_post(#x1B[33m"#x1B[39;49;00m#x1B[33m/log#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, log_api_handler)#x1B[90m#x1B[39;49;00m
        log_server = #x1B[94mawait#x1B[39;49;00m aiohttp_server(log_app)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[90m# Create main server#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        main_app = web.Application()#x1B[90m#x1B[39;49;00m
        main_app.router.add_get(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m{#x1B[39;49;00m#x1B[33mpath:.*}#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, main_handler)#x1B[90m#x1B[39;49;00m
        main_server = #x1B[94mawait#x1B[39;49;00m aiohttp_server(main_app)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mlog_middleware#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
            request: ClientRequest, handler: ClientHandlerType#x1B[90m#x1B[39;49;00m
        ) -> ClientResponse:#x1B[90m#x1B[39;49;00m
    #x1B[90m        #x1B[39;49;00m#x1B[33m"""Log requests to external API, avoiding recursion with path check."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[90m# Avoid infinite recursion by not logging requests to the /log endpoint#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[94mif#x1B[39;49;00m request.url.path != #x1B[33m"#x1B[39;49;00m#x1B[33m/log#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
                #x1B[90m# Use the session from the request to make the logging call#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m request.session.post(#x1B[90m#x1B[39;49;00m
                    #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mhttp://localhost:#x1B[39;49;00m#x1B[33m{#x1B[39;49;00mlog_server.port#x1B[33m}#x1B[39;49;00m#x1B[33m/log#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
                    json={#x1B[33m"#x1B[39;49;00m#x1B[33mmethod#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m: #x1B[96mstr#x1B[39;49;00m(request.method), #x1B[33m"#x1B[39;49;00m#x1B[33murl#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m: #x1B[96mstr#x1B[39;49;00m(request.url)},#x1B[90m#x1B[39;49;00m
                ) #x1B[94mas#x1B[39;49;00m resp:#x1B[90m#x1B[39;49;00m
                    #x1B[94massert#x1B[39;49;00m resp.status == #x1B[94m200#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m #x1B[94mawait#x1B[39;49;00m handler(request)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[90m# Create session with the middleware#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m ClientSession(middlewares=(log_middleware,)) #x1B[94mas#x1B[39;49;00m session:#x1B[90m#x1B[39;49;00m
            #x1B[90m# Make request to main server - should be logged#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>           #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m session.get(main_server.make_url(#x1B[33m"#x1B[39;49;00m#x1B[33m/test#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)) #x1B[94mas#x1B[39;49;00m resp:#x1B[90m#x1B[39;49;00m

aiohttp_server = <function aiohttp_server.<locals>.go at 0x00000181D1CB7130>
log_api_handler = <function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.log_api_handler at 0x00000181D2D47F40>
log_app    = <Application 0x181d2f548b0>
log_collector = []
log_middleware = <function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.log_middleware at 0x00000181D1CB6F80>
log_server = <aiohttp.test_utils.TestServer object at 0x00000181D2F56440>
main_app   = <Application 0x181d2f56ec0>
main_handler = <function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.main_handler at 0x00000181D1CB52D0>
main_server = <aiohttp.test_utils.TestServer object at 0x00000181D2F54220>
session    = <aiohttp.client.ClientSession object at 0x00000181D2F54970>

#x1B[1m#x1B[31mtests\test_client_middleware.py#x1B[0m:970: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31maiohttp\client.py#x1B[0m:1605: in __aenter__
    #x1B[0m#x1B[96mself#x1B[39;49;00m._resp: _RetType_co = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._coro#x1B[90m#x1B[39;49;00m
        self       = <aiohttp.client._BaseRequestContextManager object at 0x00000181D14BF160>
#x1B[1m#x1B[31maiohttp\client.py#x1B[0m:809: in _request
    #x1B[0mresp = #x1B[94mawait#x1B[39;49;00m handler(req)#x1B[90m#x1B[39;49;00m
        _connect_and_send_request = <function ClientSession._request.<locals>._connect_and_send_request at 0x00000181D1CB7250>
        all_cookies = <BaseCookie: >
        allow_redirects = True
        auth       = None
        auth_from_url = None
        auto_decompress = True
        chunked    = None
        compress   = None
        cookies    = None
        data       = None
        effective_middlewares = (<function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.log_middleware at 0x00000181D1CB6F80>,)
        expect100  = False
        fingerprint = None
        handle     = None
        handler    = <function build_client_middlewares.<locals>.single_middleware_handler at 0x00000181D1CB7010>
        headers    = <CIMultiDict()>
        history    = []
        json       = None
        max_field_size = 8190
        max_headers = 128
        max_line_size = 8190
        max_redirects = 10
        method     = 'GET'
        middlewares = None
        params     = {}
        proxy      = None
        proxy_     = None
        proxy_auth = None
        proxy_headers = None
        raise_for_status = None
        read_bufsize = 65536
        read_until_eof = True
        real_timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        redirects  = 0
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF8B0>
        retry_persistent_connection = True
        self       = <aiohttp.client.ClientSession object at 0x00000181D2F54970>
        server_hostname = None
        skip_auto_headers = None
        skip_headers = None
        ssl        = True
        ssl_context = None
        str_or_url = URL('http://127.0.0.1:62981/test')
        timeout    = <_SENTINEL.sentinel: 1>
        timer      = <aiohttp.helpers.TimerContext object at 0x00000181D1C01FD0>
        tm         = <aiohttp.helpers.TimeoutHandle object at 0x00000181D14E6700>
        trace_request_ctx = None
        traces     = []
        url        = URL('http://127.0.0.1:62981/test')
        verify_ssl = None
        version    = HttpVersion(major=1, minor=1)
#x1B[1m#x1B[31maiohttp\client_middlewares.py#x1B[0m:36: in single_middleware_handler
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m #x1B[94mawait#x1B[39;49;00m middleware(req, handler)#x1B[90m#x1B[39;49;00m
        handler    = <function ClientSession._request.<locals>._connect_and_send_request at 0x00000181D1CB7250>
        middleware = <function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.log_middleware at 0x00000181D1CB6F80>
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF8B0>
#x1B[1m#x1B[31mtests\test_client_middleware.py#x1B[0m:959: in log_middleware
    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m request.session.post(#x1B[90m#x1B[39;49;00m
        handler    = <function ClientSession._request.<locals>._connect_and_send_request at 0x00000181D1CB7250>
        log_server = <aiohttp.test_utils.TestServer object at 0x00000181D2F56440>
        request    = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF8B0>
#x1B[1m#x1B[31maiohttp\client.py#x1B[0m:1605: in __aenter__
    #x1B[0m#x1B[96mself#x1B[39;49;00m._resp: _RetType_co = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._coro#x1B[90m#x1B[39;49;00m
        self       = <aiohttp.client._BaseRequestContextManager object at 0x00000181D14BF910>
#x1B[1m#x1B[31maiohttp\client.py#x1B[0m:809: in _request
    #x1B[0mresp = #x1B[94mawait#x1B[39;49;00m handler(req)#x1B[90m#x1B[39;49;00m
        _connect_and_send_request = <function ClientSession._request.<locals>._connect_and_send_request at 0x00000181D1CB4A60>
        all_cookies = <BaseCookie: >
        allow_redirects = True
        auth       = None
        auth_from_url = None
        auto_decompress = True
        chunked    = None
        compress   = None
        cookies    = None
        data       = <aiohttp.payload.JsonPayload object at 0x00000181D14BC6D0>
        effective_middlewares = (<function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.log_middleware at 0x00000181D1CB6F80>,)
        expect100  = False
        fingerprint = None
        handle     = None
        handler    = <function build_client_middlewares.<locals>.single_middleware_handler at 0x00000181D1CB5C60>
        headers    = <CIMultiDict()>
        history    = []
        json       = {'method': 'GET', 'url': 'http://127.0.0.1:62981/test'}
        max_field_size = 8190
        max_headers = 128
        max_line_size = 8190
        max_redirects = 10
        method     = 'POST'
        middlewares = None
        params     = {}
        proxy      = None
        proxy_     = None
        proxy_auth = None
        proxy_headers = None
        raise_for_status = None
        read_bufsize = 65536
        read_until_eof = True
        real_timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        redirects  = 0
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF280>
        retry_persistent_connection = False
        self       = <aiohttp.client.ClientSession object at 0x00000181D2F54970>
        server_hostname = None
        skip_auto_headers = None
        skip_headers = None
        ssl        = True
        ssl_context = None
        str_or_url = 'http://localhost:62980/log'
        timeout    = <_SENTINEL.sentinel: 1>
        timer      = <aiohttp.helpers.TimerContext object at 0x00000181D1C02480>
        tm         = <aiohttp.helpers.TimeoutHandle object at 0x00000181D2F14740>
        trace_request_ctx = None
        traces     = []
        url        = URL('http://localhost:62980/log')
        verify_ssl = None
        version    = HttpVersion(major=1, minor=1)
#x1B[1m#x1B[31maiohttp\client_middlewares.py#x1B[0m:36: in single_middleware_handler
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m #x1B[94mawait#x1B[39;49;00m middleware(req, handler)#x1B[90m#x1B[39;49;00m
        handler    = <function ClientSession._request.<locals>._connect_and_send_request at 0x00000181D1CB4A60>
        middleware = <function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.log_middleware at 0x00000181D1CB6F80>
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF280>
#x1B[1m#x1B[31mtests\test_client_middleware.py#x1B[0m:965: in log_middleware
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m #x1B[94mawait#x1B[39;49;00m handler(request)#x1B[90m#x1B[39;49;00m
        handler    = <function ClientSession._request.<locals>._connect_and_send_request at 0x00000181D1CB4A60>
        log_server = <aiohttp.test_utils.TestServer object at 0x00000181D2F56440>
        request    = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF280>
#x1B[1m#x1B[31maiohttp\client.py#x1B[0m:763: in _connect_and_send_request
    #x1B[0mconn = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._connector.connect(#x1B[90m#x1B[39;49;00m
        auto_decompress = True
        max_field_size = 8190
        max_headers = 128
        max_line_size = 8190
        read_bufsize = 65536
        read_until_eof = True
        real_timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF280>
        self       = <aiohttp.client.ClientSession object at 0x00000181D2F54970>
        timer      = <aiohttp.helpers.TimerContext object at 0x00000181D1C02480>
        traces     = []
#x1B[1m#x1B[31maiohttp\connector.py#x1B[0m:655: in connect
    #x1B[0mproto = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._create_connection(req, traces, timeout)#x1B[90m#x1B[39;49;00m
        conn       = None
        key        = ConnectionKey(host='localhost', port=62980, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None)
        placeholder = <aiohttp.connector._TransportPlaceholder object at 0x00000181D14BCDC0>
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF280>
        self       = <aiohttp.connector.TCPConnector object at 0x00000181D2F54580>
        timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        traces     = []
#x1B[1m#x1B[31maiohttp\connector.py#x1B[0m:1220: in _create_connection
    #x1B[0m_, proto = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._create_direct_connection(req, traces, timeout)#x1B[90m#x1B[39;49;00m
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF280>
        self       = <aiohttp.connector.TCPConnector object at 0x00000181D2F54580>
        timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        traces     = []
#x1B[1m#x1B[31maiohttp\connector.py#x1B[0m:1592: in _create_direct_connection
    #x1B[0m#x1B[94mraise#x1B[39;49;00m last_exc#x1B[90m#x1B[39;49;00m
        addr_infos = []
        client_error = <class 'aiohttp.client_exceptions.ClientConnectorError'>
        fingerprint = None
        host       = 'localhost'
        hosts      = [{'family': <AddressFamily.AF_INET6: 23>, 'flags': <AddressInfo.AI_NUMERICSERV|AI_NUMERICHOST: 12>, 'host': '::1', 'ho...INET: 2>, 'flags': <AddressInfo.AI_NUMERICSERV|AI_NUMERICHOST: 12>, 'host': '127.0.0.1', 'hostname': 'localhost', ...}]
        last_exc   = ClientConnectorError(ConnectionKey(host='localhost', port=62980, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, ...headers_hash=None), ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None))
        port       = 62980
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF280>
        self       = <aiohttp.connector.TCPConnector object at 0x00000181D2F54580>
        server_hostname = None
        sslcontext = None
        timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        traces     = []
#x1B[1m#x1B[31maiohttp\connector.py#x1B[0m:1561: in _create_direct_connection
    #x1B[0mtransp, proto = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._wrap_create_connection(#x1B[90m#x1B[39;49;00m
        addr_infos = []
        client_error = <class 'aiohttp.client_exceptions.ClientConnectorError'>
        fingerprint = None
        host       = 'localhost'
        hosts      = [{'family': <AddressFamily.AF_INET6: 23>, 'flags': <AddressInfo.AI_NUMERICSERV|AI_NUMERICHOST: 12>, 'host': '::1', 'ho...INET: 2>, 'flags': <AddressInfo.AI_NUMERICSERV|AI_NUMERICHOST: 12>, 'host': '127.0.0.1', 'hostname': 'localhost', ...}]
        last_exc   = ClientConnectorError(ConnectionKey(host='localhost', port=62980, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, ...headers_hash=None), ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None))
        port       = 62980
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF280>
        self       = <aiohttp.connector.TCPConnector object at 0x00000181D2F54580>
        server_hostname = None
        sslcontext = None
        timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        traces     = []
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aiohttp.connector.TCPConnector object at 0x00000181D2F54580>
addr_infos = []
req = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF280>
timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
client_error = <class 'aiohttp.client_exceptions.ClientConnectorError'>
args = (functools.partial(<class 'aiohttp.client_proto.ResponseHandler'>, loop=<ProactorEventLoop running=False closed=False debug=False>),)
kwargs = {'server_hostname': None, 'ssl': None}

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92m_wrap_create_connection#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        *args: Any,#x1B[90m#x1B[39;49;00m
        addr_infos: #x1B[96mlist#x1B[39;49;00m[AddrInfoType],#x1B[90m#x1B[39;49;00m
        req: ClientRequest,#x1B[90m#x1B[39;49;00m
        timeout: #x1B[33m"#x1B[39;49;00m#x1B[33mClientTimeout#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        client_error: #x1B[96mtype#x1B[39;49;00m[#x1B[96mException#x1B[39;49;00m] = ClientConnectorError,#x1B[90m#x1B[39;49;00m
        **kwargs: Any,#x1B[90m#x1B[39;49;00m
    ) -> #x1B[96mtuple#x1B[39;49;00m[asyncio.Transport, ResponseHandler]:#x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m ceil_timeout(#x1B[90m#x1B[39;49;00m
                timeout.sock_connect, ceil_threshold=timeout.ceil_threshold#x1B[90m#x1B[39;49;00m
            ):#x1B[90m#x1B[39;49;00m
                sock = #x1B[94mawait#x1B[39;49;00m aiohappyeyeballs.start_connection(#x1B[90m#x1B[39;49;00m
                    addr_infos=addr_infos,#x1B[90m#x1B[39;49;00m
                    local_addr_infos=#x1B[96mself#x1B[39;49;00m._local_addr_infos,#x1B[90m#x1B[39;49;00m
                    happy_eyeballs_delay=#x1B[96mself#x1B[39;49;00m._happy_eyeballs_delay,#x1B[90m#x1B[39;49;00m
                    interleave=#x1B[96mself#x1B[39;49;00m._interleave,#x1B[90m#x1B[39;49;00m
                    loop=#x1B[96mself#x1B[39;49;00m._loop,#x1B[90m#x1B[39;49;00m
                    socket_factory=#x1B[96mself#x1B[39;49;00m._socket_factory,#x1B[90m#x1B[39;49;00m
                )#x1B[90m#x1B[39;49;00m
                #x1B[90m# Add ssl_shutdown_timeout for Python 3.11+ when SSL is used#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                #x1B[94mif#x1B[39;49;00m (#x1B[90m#x1B[39;49;00m
                    kwargs.get(#x1B[33m"#x1B[39;49;00m#x1B[33mssl#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
                    #x1B[95mand#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._ssl_shutdown_timeout#x1B[90m#x1B[39;49;00m
                    #x1B[95mand#x1B[39;49;00m sys.version_info >= (#x1B[94m3#x1B[39;49;00m, #x1B[94m11#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
                ):#x1B[90m#x1B[39;49;00m
                    kwargs[#x1B[33m"#x1B[39;49;00m#x1B[33mssl_shutdown_timeout#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m] = #x1B[96mself#x1B[39;49;00m._ssl_shutdown_timeout#x1B[90m#x1B[39;49;00m
                #x1B[94mreturn#x1B[39;49;00m #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._loop.create_connection(*args, **kwargs, sock=sock)#x1B[90m#x1B[39;49;00m
        #x1B[94mexcept#x1B[39;49;00m cert_errors #x1B[94mas#x1B[39;49;00m exc:#x1B[90m#x1B[39;49;00m
            #x1B[94mraise#x1B[39;49;00m ClientConnectorCertificateError(req.connection_key, exc) #x1B[94mfrom#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[04m#x1B[96mexc#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94mexcept#x1B[39;49;00m ssl_errors #x1B[94mas#x1B[39;49;00m exc:#x1B[90m#x1B[39;49;00m
            #x1B[94mraise#x1B[39;49;00m ClientConnectorSSLError(req.connection_key, exc) #x1B[94mfrom#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[04m#x1B[96mexc#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94mexcept#x1B[39;49;00m #x1B[96mOSError#x1B[39;49;00m #x1B[94mas#x1B[39;49;00m exc:#x1B[90m#x1B[39;49;00m
            #x1B[94mif#x1B[39;49;00m exc.errno #x1B[95mis#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m #x1B[95mand#x1B[39;49;00m #x1B[96misinstance#x1B[39;49;00m(exc, asyncio.TimeoutError):#x1B[90m#x1B[39;49;00m
                #x1B[94mraise#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m client_error(req.connection_key, exc) #x1B[94mfrom#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[04m#x1B[96mexc#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host localhost:62980 ssl:default [The remote computer refused the network connection]#x1B[0m

addr_infos = []
args       = (functools.partial(<class 'aiohttp.client_proto.ResponseHandler'>, loop=<ProactorEventLoop running=False closed=False debug=False>),)
client_error = <class 'aiohttp.client_exceptions.ClientConnectorError'>
kwargs     = {'server_hostname': None, 'ssl': None}
req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000181D14BF280>
self       = <aiohttp.connector.TCPConnector object at 0x00000181D2F54580>
timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)

#x1B[1m#x1B[31maiohttp\connector.py#x1B[0m:1302: ClientConnectorError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@codspeed-hq
Copy link

codspeed-hq bot commented Jan 26, 2026

CodSpeed Performance Report

Merging this PR will not alter performance

Comparing dependabot/pip/3.14/setuptools-80.10.2 (2c8125b) with 3.14 (bca4bcf)1

Summary

✅ 59 untouched benchmarks

Footnotes

  1. No successful run was found on 3.14 (8c59acd) during the generation of this report, so bca4bcf was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

Bumps [setuptools](https://github.com/pypa/setuptools) from 80.10.1 to 80.10.2.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](pypa/setuptools@v80.10.1...v80.10.2)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 80.10.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/pip/3.14/setuptools-80.10.2 branch from 2d5754c to 2c8125b Compare January 26, 2026 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants