diff --git a/jupyter_server/services/kernels/kernelmanager.py b/jupyter_server/services/kernels/kernelmanager.py index 3b31b64cc6..8f4e8277f9 100644 --- a/jupyter_server/services/kernels/kernelmanager.py +++ b/jupyter_server/services/kernels/kernelmanager.py @@ -11,6 +11,7 @@ import asyncio import os import pathlib # noqa: TCH003 +import sys import typing as t import warnings from collections import defaultdict @@ -24,7 +25,11 @@ from jupyter_core.utils import ensure_async from jupyter_events import EventLogger from jupyter_events.schema_registry import SchemaRegistryException -from overrides import overrides + +if sys.version_info >= (3, 12): + from typing import override +else: + from overrides import overrides as override from tornado import web from tornado.concurrent import Future from tornado.ioloop import IOLoop, PeriodicCallback @@ -894,28 +899,28 @@ def emit(self, schema_id, data): """Emit an event from the kernel manager.""" self.event_logger.emit(schema_id=schema_id, data=data) - @overrides + @override @emit_kernel_action_event( success_msg="Kernel {kernel_id} was started.", ) async def start_kernel(self, *args, **kwargs): return await super().start_kernel(*args, **kwargs) - @overrides + @override @emit_kernel_action_event( success_msg="Kernel {kernel_id} was shutdown.", ) async def shutdown_kernel(self, *args, **kwargs): return await super().shutdown_kernel(*args, **kwargs) - @overrides + @override @emit_kernel_action_event( success_msg="Kernel {kernel_id} was restarted.", ) async def restart_kernel(self, *args, **kwargs): return await super().restart_kernel(*args, **kwargs) - @overrides + @override @emit_kernel_action_event( success_msg="Kernel {kernel_id} was interrupted.", ) diff --git a/pyproject.toml b/pyproject.toml index e04983380d..eb2a0ed58c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,7 +41,7 @@ dependencies = [ "traitlets>=5.6.0", "websocket-client>=1.7", "jupyter_events>=0.11.0", - "overrides>=5.0" + "overrides>=5.0;python_version<'3.12'" ] [project.urls]