{"id":"195cd038c5e86651","repo":"pypa/pip","slug":"connection-timeout","errorCode":"connection-timeout","errorMessage":"Unable to fetch {url}","messagePattern":"Unable to fetch (.+?)","errorType":"exception","errorClass":"ConnectionTimeoutError","httpStatus":null,"severity":"error","filePath":"src/pip/_internal/network/utils.py","lineNumber":145,"sourceCode":"    else:\n        connect_timeout = read_timeout = timeout\n\n    if kind == \"connect\":\n        assert connect_timeout is not None\n        return connect_timeout\n    else:\n        assert read_timeout is not None\n        return read_timeout\n\n\ndef _raise_timeout_error(\n    reason: urllib3.exceptions.TimeoutError,\n    url: str,\n    host: str,\n    timeout: TimeoutValue,\n) -> NoReturn:\n    if isinstance(reason, urllib3.exceptions.ConnectTimeoutError):\n        raise ConnectionTimeoutError(\n            url, host, kind=\"connect\", timeout=_parse_timeout(timeout, \"connect\")\n        )\n    else:\n        raise ConnectionTimeoutError(\n            url, host, kind=\"read\", timeout=_parse_timeout(timeout, \"read\")\n        )\n\n\ndef raise_connection_error(\n    error: requests.ConnectionError | requests.Timeout,\n    *,\n    url: str,\n    timeout: TimeoutValue,\n) -> NoReturn:\n    \"\"\"Raise a specific error for a given connection error, if possible.\n\n    Note: requests.ConnectionError is the parent class of\n          requests.ProxyError, requests.SSLError, and requests.ConnectTimeout","sourceCodeStart":127,"sourceCodeEnd":163,"githubUrl":"https://github.com/pypa/pip/blob/d7d0d0a39494e28ec1c407bd0680e4a4d1067791/src/pip/_internal/network/utils.py#L127-L163","documentation":"Error \"Unable to fetch {url}\" thrown in pypa/pip.","triggerScenarios":"Thrown at src/pip/_internal/network/utils.py:145 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"d7d0d0a39494e28ec1c407bd0680e4a4d1067791","analyzedAt":"2026-08-04T20:55:04.259Z","schemaVersion":2}