Skip to content

Commit 3224737

Browse files
author
g97iulio1609
committed
fix: add Python 3.10 compat import for BaseExceptionGroup
On Python < 3.11, BaseExceptionGroup is not a builtin and must be imported from the exceptiongroup backport package (transitive dep via anyio).
1 parent 008150a commit 3224737

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

src/mcp/shared/_exception_utils.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,15 @@
1414

1515
import asyncio
1616
import contextlib
17+
import sys
1718
from collections.abc import AsyncIterator
1819

1920
import anyio
2021
import anyio.abc
2122

23+
if sys.version_info < (3, 11):
24+
from exceptiongroup import BaseExceptionGroup
25+
2226

2327
def collapse_exception_group(
2428
eg: BaseExceptionGroup,

src/mcp/shared/session.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from __future__ import annotations
22

33
import logging
4+
import sys
45
from collections.abc import Callable
56
from contextlib import AsyncExitStack
67
from types import TracebackType
@@ -12,6 +13,9 @@
1213
from typing_extensions import Self
1314

1415
from mcp.shared._exception_utils import collapse_exception_group
16+
17+
if sys.version_info < (3, 11):
18+
from exceptiongroup import BaseExceptionGroup
1519
from mcp.shared.exceptions import MCPError
1620
from mcp.shared.message import MessageMetadata, ServerMessageMetadata, SessionMessage
1721
from mcp.shared.response_router import ResponseRouter

0 commit comments

Comments
 (0)