Skip to content

Commit 2a8510b

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent aaf8d5b commit 2a8510b

File tree

7 files changed

+181
-124
lines changed

7 files changed

+181
-124
lines changed

jupyter_server/gateway/v3/managers.py

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
"""Gateway kernel manager that integrates with our kernel monitoring system."""
22

33
import asyncio
4-
from jupyter_server.gateway.managers import GatewayMappingKernelManager
5-
from jupyter_server.gateway.managers import GatewayKernelManager as _GatewayKernelManager
6-
from jupyter_server.gateway.managers import GatewayKernelClient as _GatewayKernelClient
7-
from traitlets import default, Instance, Type
84

5+
from traitlets import Instance, Type, default
6+
7+
from jupyter_server.gateway.managers import GatewayKernelClient as _GatewayKernelClient
8+
from jupyter_server.gateway.managers import GatewayKernelManager as _GatewayKernelManager
9+
from jupyter_server.gateway.managers import GatewayMappingKernelManager
910
from jupyter_server.services.kernels.v3.client import JupyterServerKernelClientMixin
1011

1112

@@ -38,22 +39,22 @@ def _send_message(self, channel_name: str, msg: list[bytes]):
3839
# Send to gateway channel
3940
try:
4041
channel = getattr(self, f"{channel_name}_channel", None)
41-
if channel and hasattr(channel, 'send'):
42+
if channel and hasattr(channel, "send"):
4243
# Convert raw message to gateway format
4344
header = self.session.unpack(msg[0])
4445
parent_header = self.session.unpack(msg[1])
4546
metadata = self.session.unpack(msg[2])
4647
content = self.session.unpack(msg[3])
4748

4849
full_msg = {
49-
'header': header,
50-
'parent_header': parent_header,
51-
'metadata': metadata,
52-
'content': content,
53-
'buffers': msg[4:] if len(msg) > 4 else [],
54-
'channel': channel_name,
55-
'msg_id': header.get('msg_id'),
56-
'msg_type': header.get('msg_type')
50+
"header": header,
51+
"parent_header": parent_header,
52+
"metadata": metadata,
53+
"content": content,
54+
"buffers": msg[4:] if len(msg) > 4 else [],
55+
"channel": channel_name,
56+
"msg_id": header.get("msg_id"),
57+
"msg_type": header.get("msg_type"),
5758
}
5859

5960
channel.send(full_msg)
@@ -74,7 +75,7 @@ async def _monitor_channel_messages(self, channel_name: str, channel):
7475
channel_name,
7576
message,
7677
parent_msg_id=message.get("parent_header", {}).get("msg_id"),
77-
execution_state=message.get("content", {}).get("execution_state")
78+
execution_state=message.get("content", {}).get("execution_state"),
7879
)
7980

8081
# Serialize message to standard format for listeners
@@ -83,10 +84,14 @@ async def _monitor_channel_messages(self, channel_name: str, channel):
8384
serialized = self.session.serialize(message)
8485

8586
# Skip delimiter (index 0) and signature (index 1) to get [header, parent_header, metadata, content, ...]
86-
if serialized and len(serialized) >= 6: # Need delimiter + signature + 4 message parts
87+
if (
88+
serialized and len(serialized) >= 6
89+
): # Need delimiter + signature + 4 message parts
8790
msg_list = serialized[2:]
8891
else:
89-
self.log.warning(f"Gateway message too short: {len(serialized) if serialized else 0} parts")
92+
self.log.warning(
93+
f"Gateway message too short: {len(serialized) if serialized else 0} parts"
94+
)
9095
continue
9196

9297
# Route to listeners
@@ -124,14 +129,15 @@ class GatewayKernelManager(_GatewayKernelManager):
124129
When jupyter_server is configured to use a gateway, this manager ensures that
125130
remote kernels receive the same level of monitoring as local kernels.
126131
"""
132+
127133
# Configure the manager to use our enhanced gateway client
128134
client_class = GatewayKernelClient
129135
client_factory = GatewayKernelClient
130136

131137
kernel_client = Instance(
132-
'jupyter_client.client.KernelClient',
138+
"jupyter_client.client.KernelClient",
133139
allow_none=True,
134-
help="""Pre-created kernel client instance. Created on initialization."""
140+
help="""Pre-created kernel client instance. Created on initialization.""",
135141
)
136142

137143
def __init__(self, **kwargs):
@@ -184,7 +190,9 @@ async def cleanup_resources(self, restart=False):
184190
if restart:
185191
# On restart, clear client state but keep connection
186192
# The connection will be refreshed in post_start_kernel after restart
187-
self.log.debug(f"Clearing kernel client state for restart of kernel {self.kernel_id}")
193+
self.log.debug(
194+
f"Clearing kernel client state for restart of kernel {self.kernel_id}"
195+
)
188196
self.kernel_client.last_shell_status_time = None
189197
self.kernel_client.last_control_status_time = None
190198
# Disconnect before restart - will reconnect after
@@ -208,7 +216,6 @@ def _default_kernel_manager_class(self):
208216

209217
def start_watching_activity(self, kernel_id):
210218
pass
211-
219+
212220
def stop_buffering(self, kernel_id):
213221
pass
214-

jupyter_server/serverapp.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1652,11 +1652,15 @@ def template_file_path(self) -> list[str]:
16521652
@default("kernel_manager_class")
16531653
def _default_kernel_manager_class(self) -> t.Union[str, type[AsyncMappingKernelManager]]:
16541654
if self.kernels_api_version == 3:
1655-
gateway_enabled = getattr(self, 'gateway_config', None) and getattr(self.gateway_config, 'gateway_enabled', False)
1655+
gateway_enabled = getattr(self, "gateway_config", None) and getattr(
1656+
self.gateway_config, "gateway_enabled", False
1657+
)
16561658
if gateway_enabled:
16571659
return "jupyter_server.gateway.v3.managers.GatewayMultiKernelManager"
16581660
return "jupyter_server.services.kernels.v3.kernelmanager.AsyncMappingKernelManager"
1659-
gateway_enabled = getattr(self, 'gateway_config', None) and getattr(self.gateway_config, 'gateway_enabled', False)
1661+
gateway_enabled = getattr(self, "gateway_config", None) and getattr(
1662+
self.gateway_config, "gateway_enabled", False
1663+
)
16601664
if gateway_enabled:
16611665
return "jupyter_server.gateway.managers.GatewayMappingKernelManager"
16621666
return AsyncMappingKernelManager
@@ -1685,7 +1689,9 @@ def _default_kernel_websocket_connection_class(
16851689
if self.kernels_api_version == 3:
16861690
# V3 uses shared kernel client connection for both local and gateway
16871691
return "jupyter_server.services.kernels.v3.connection.client_connection.KernelClientWebsocketConnection"
1688-
gateway_enabled = getattr(self, 'gateway_config', None) and getattr(self.gateway_config, 'gateway_enabled', False)
1692+
gateway_enabled = getattr(self, "gateway_config", None) and getattr(
1693+
self.gateway_config, "gateway_enabled", False
1694+
)
16891695
if gateway_enabled:
16901696
return "jupyter_server.gateway.connections.GatewayWebSocketConnection"
16911697
return ZMQChannelsWebsocketConnection

0 commit comments

Comments
 (0)