11import datetime
2+ import importlib
3+ import logging .config
24import os
35import re
4- import selectors
6+ import shutil
57import subprocess
68import sys
79import threading
810import time
9- import shutil
10- import logging .config
11-
1211from enum import Enum
1312from textwrap import dedent
14- from statistics import mean
1513from typing import IO , AnyStr , Callable
1614
17- import pandas as pd
1815from ipykernel .ipkernel import IPythonKernel
19- from scorep_jupyter .userpersistence import PersHelper , scorep_script_name
20- from scorep_jupyter .userpersistence import magics_cleanup , create_busy_spinner
21- import importlib
16+
2217from scorep_jupyter .kernel_messages import (
2318 KernelErrorCode ,
2419 KERNEL_ERROR_MESSAGES ,
2520)
21+ from scorep_jupyter .userpersistence import PersHelper , scorep_script_name
22+ from scorep_jupyter .userpersistence import magics_cleanup , create_busy_spinner
23+ from .logging_config import LOGGING
2624
2725# import scorep_jupyter.multinode_monitor.slurm_monitor as slurm_monitor
2826
29- from .logging_config import LOGGING
30-
3127PYTHON_EXECUTABLE = sys .executable
3228userpersistence_token = "scorep_jupyter.userpersistence"
3329jupyter_dump = "jupyter_dump.pkl"
@@ -675,9 +671,9 @@ def start_reading_scorep_process_streams(
675671
676672 stdout_lock = threading .Lock ()
677673 spinner_stop_event = threading .Event ()
678- process_busy_spinner = create_busy_spinner (stdout_lock ,
679- spinner_stop_event ,
680- is_multicell_final )
674+ process_busy_spinner = create_busy_spinner (
675+ stdout_lock , spinner_stop_event , is_multicell_final
676+ )
681677 process_busy_spinner .start ("Process is running..." )
682678
683679 # Empty cell output, required for interactive output
@@ -687,15 +683,13 @@ def start_reading_scorep_process_streams(
687683 try :
688684 t_stderr = threading .Thread (
689685 target = self .read_scorep_stderr ,
690- args = (
691- proc .stderr ,
692- stdout_lock ,
693- spinner_stop_event )
686+ args = (proc .stderr , stdout_lock , spinner_stop_event ),
694687 )
695688 t_stderr .start ()
696689
697- self .read_scorep_stdout (proc .stdout , stdout_lock ,
698- spinner_stop_event )
690+ self .read_scorep_stdout (
691+ proc .stdout , stdout_lock , spinner_stop_event
692+ )
699693
700694 t_stderr .join ()
701695 process_busy_spinner .stop ("Done." )
@@ -704,11 +698,11 @@ def start_reading_scorep_process_streams(
704698 process_busy_spinner .stop ("Kernel interrupted." )
705699
706700 def read_scorep_stdout (
707- self ,
708- stdout : IO [AnyStr ],
709- lock : threading .Lock ,
710- spinner_stop_event : threading .Event ,
711- read_chunk_size = 64 ,
701+ self ,
702+ stdout : IO [AnyStr ],
703+ lock : threading .Lock ,
704+ spinner_stop_event : threading .Event ,
705+ read_chunk_size = 64 ,
712706 ):
713707 line_width = 50
714708 clear_line = "\r " + " " * line_width + "\r "
@@ -719,28 +713,32 @@ def process_stdout_line(line: str):
719713 sys .stdout .flush ()
720714 self .cell_output (line )
721715
722- self .read_scorep_stream (stdout , lock , process_stdout_line , read_chunk_size )
716+ self .read_scorep_stream (
717+ stdout , lock , process_stdout_line , read_chunk_size
718+ )
723719
724720 def read_scorep_stderr (
725- self ,
726- stderr : IO [AnyStr ],
727- lock : threading .Lock ,
728- spinner_stop_event : threading .Event ,
729- read_chunk_size = 64 ,
721+ self ,
722+ stderr : IO [AnyStr ],
723+ lock : threading .Lock ,
724+ spinner_stop_event : threading .Event ,
725+ read_chunk_size = 64 ,
730726 ):
731727 def process_stderr_line (line : str ):
732728 if spinner_stop_event .is_set ():
733729 self .cell_output (line )
734730 self .log .error (line )
735731
736- self .read_scorep_stream (stderr , lock , process_stderr_line , read_chunk_size )
732+ self .read_scorep_stream (
733+ stderr , lock , process_stderr_line , read_chunk_size
734+ )
737735
738736 def read_scorep_stream (
739- self ,
740- stream : IO [AnyStr ],
741- lock : threading .Lock ,
742- process_line : Callable [[str ], None ],
743- read_chunk_size : int = 64 ,
737+ self ,
738+ stream : IO [AnyStr ],
739+ lock : threading .Lock ,
740+ process_line : Callable [[str ], None ],
741+ read_chunk_size : int = 64 ,
744742 ):
745743 incomplete_line = ""
746744 endline_pattern = re .compile (r"(.*?[\r\n]|.+$)" )
0 commit comments