diff --git a/marimo/_ast/app.py b/marimo/_ast/app.py index 3955a31d8ab..f43e73f7c21 100644 --- a/marimo/_ast/app.py +++ b/marimo/_ast/app.py @@ -4,6 +4,7 @@ import ast import base64 import inspect +import sys import threading from dataclasses import asdict, dataclass, field from pathlib import Path @@ -25,7 +26,10 @@ ) from uuid import uuid4 -from typing_extensions import ParamSpec, TypeAlias +if sys.version_info < (3, 10): + from typing_extensions import ParamSpec, TypeAlias +else: + from typing import ParamSpec, TypeAlias from marimo import _loggers from marimo._ast.cell import Cell, CellConfig, CellId_t, CellImpl diff --git a/marimo/_ast/cell_manager.py b/marimo/_ast/cell_manager.py index 90821ca294f..060dc9d185c 100644 --- a/marimo/_ast/cell_manager.py +++ b/marimo/_ast/cell_manager.py @@ -5,6 +5,7 @@ import os import random import string +import sys from typing import ( TYPE_CHECKING, Callable, @@ -13,7 +14,10 @@ TypeVar, ) -from typing_extensions import ParamSpec, TypeAlias +if sys.version_info < (3, 10): + from typing_extensions import ParamSpec, TypeAlias +else: + from typing import ParamSpec, TypeAlias from marimo._ast.cell import Cell, CellConfig, CellId_t from marimo._ast.compiler import cell_factory, toplevel_cell_factory diff --git a/marimo/_server/sessions.py b/marimo/_server/sessions.py index 9c5bfca3d7c..337a2aac765 100644 --- a/marimo/_server/sessions.py +++ b/marimo/_server/sessions.py @@ -1035,7 +1035,7 @@ def maybe_resume_session( # Set new session and remove old session self.sessions[new_session_id] = session # If the ID is the same, we don't need to delete the old session - if new_session_id != session_id: + if new_session_id != session_id and session_id in self.sessions: del self.sessions[session_id] return session @@ -1088,7 +1088,8 @@ def close_session(self, session_id: SessionId) -> bool: ) session.close() - del self.sessions[session_id] + if session_id in self.sessions: + del self.sessions[session_id] return True def close_all_sessions(self) -> None: diff --git a/tests/snapshots/api.txt b/tests/snapshots/api.txt index 31b5951d442..0b6d6cf7992 100644 --- a/tests/snapshots/api.txt +++ b/tests/snapshots/api.txt @@ -32,6 +32,7 @@ hstack icon iframe image +import_guard islands MarimoIslandGenerator MarimoIslandStub