Skip to content

Commit 1cb4116

Browse files
[pre-commit.ci] pre-commit autoupdate (#1322)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Steven Silvester <[email protected]>
1 parent a7b033d commit 1cb4116

File tree

18 files changed

+54
-86
lines changed

18 files changed

+54
-86
lines changed

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,22 @@ repos:
2020
- id: trailing-whitespace
2121

2222
- repo: https://github.com/python-jsonschema/check-jsonschema
23-
rev: 0.23.2
23+
rev: 0.26.3
2424
hooks:
2525
- id: check-github-workflows
2626

2727
- repo: https://github.com/executablebooks/mdformat
28-
rev: 0.7.16
28+
rev: 0.7.17
2929
hooks:
3030
- id: mdformat
3131

3232
- repo: https://github.com/psf/black
33-
rev: 23.3.0
33+
rev: 23.7.0
3434
hooks:
3535
- id: black
3636

3737
- repo: https://github.com/astral-sh/ruff-pre-commit
38-
rev: v0.0.276
38+
rev: v0.0.287
3939
hooks:
4040
- id: ruff
4141
args: ["--fix"]

jupyter_server/base/handlers.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -403,10 +403,7 @@ def set_attachment_header(self, filename):
403403
escaped_filename = url_escape(filename)
404404
self.set_header(
405405
"Content-Disposition",
406-
"attachment;"
407-
" filename*=utf-8''{utf8}".format(
408-
utf8=escaped_filename,
409-
),
406+
f"attachment; filename*=utf-8''{escaped_filename}",
410407
)
411408

412409
def get_origin(self):

jupyter_server/extension/application.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -608,10 +608,7 @@ def launch_instance(cls, argv=None, **kwargs):
608608

609609
# Log if extension is blocking other extensions from loading.
610610
if not cls.load_other_extensions:
611-
serverapp.log.info(
612-
"{ext_name} is running without loading "
613-
"other extensions.".format(ext_name=cls.name)
614-
)
611+
serverapp.log.info(f"{cls.name} is running without loading other extensions.")
615612
# Start the server.
616613
try:
617614
serverapp.start()

jupyter_server/extension/utils.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ def get_loader(obj, logger=None):
4848

4949
warnings.warn(
5050
"A `_load_jupyter_server_extension` function was not "
51-
"found in {name!s}. Instead, a `load_jupyter_server_extension` "
51+
f"found in {obj!s}. Instead, a `load_jupyter_server_extension` "
5252
"function was found and will be used for now. This function "
5353
"name will be deprecated in future releases "
54-
"of Jupyter Server.".format(name=obj),
54+
"of Jupyter Server.",
5555
DeprecationWarning,
5656
stacklevel=2,
5757
)
@@ -91,10 +91,10 @@ def get_metadata(package_name, logger=None):
9191
if logger:
9292
logger.warning(
9393
"A `_jupyter_server_extension_points` function was not "
94-
"found in {name}. Instead, a `_jupyter_server_extension_paths` "
94+
f"found in {package_name}. Instead, a `_jupyter_server_extension_paths` "
9595
"function was found and will be used for now. This function "
9696
"name will be deprecated in future releases "
97-
"of Jupyter Server.".format(name=package_name)
97+
"of Jupyter Server."
9898
)
9999
return module, extension_points
100100
except AttributeError:
@@ -105,9 +105,9 @@ def get_metadata(package_name, logger=None):
105105
if logger:
106106
logger.debug(
107107
"A `_jupyter_server_extension_points` function was "
108-
"not found in {name}, so Jupyter Server will look "
108+
f"not found in {package_name}, so Jupyter Server will look "
109109
"for extension points in the extension pacakge's "
110-
"root.".format(name=package_name)
110+
"root."
111111
)
112112
return module, [{"module": package_name, "name": package_name}]
113113

jupyter_server/gateway/connections.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,7 @@ def handle_outgoing_message(self, incoming_msg: str, *args: Any) -> None:
131131
json_decode(utf8(incoming_msg))
132132
)
133133
self.log.debug(
134-
"Notebook client closed websocket connection - message dropped: {}".format(
135-
msg_summary
136-
)
134+
f"Notebook client closed websocket connection - message dropped: {msg_summary}"
137135
)
138136

139137
def handle_incoming_message(self, message: str) -> None:

jupyter_server/gateway/gateway_client.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -526,15 +526,8 @@ def _deprecated_trait(self, change):
526526
# protects backward-compatible config from warnings
527527
# if they set the same value under both names
528528
self.log.warning(
529-
(
530-
"{cls}.{old} is deprecated in jupyter_server "
531-
"{version}, use {cls}.{new} instead"
532-
).format(
533-
cls=self.__class__.__name__,
534-
old=old_attr,
535-
new=new_attr,
536-
version=version,
537-
)
529+
f"{self.__class__.__name__}.{old_attr} is deprecated in jupyter_server "
530+
f"{version}, use {self.__class__.__name__}.{new_attr} instead"
538531
)
539532
setattr(self, new_attr, change.new)
540533

@@ -578,7 +571,7 @@ def init_connection_args(self):
578571
os.environ["KERNEL_LAUNCH_TIMEOUT"] = str(GatewayClient.KERNEL_LAUNCH_TIMEOUT)
579572

580573
self._connection_args["headers"] = json.loads(self.headers)
581-
if self.auth_header_key not in self._connection_args["headers"].keys():
574+
if self.auth_header_key not in self._connection_args["headers"]:
582575
self._connection_args["headers"].update(
583576
{f"{self.auth_header_key}": f"{self.auth_scheme} {self.auth_token}"}
584577
)

jupyter_server/gateway/handlers.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,7 @@ def write_message(self, message, binary=False):
118118
elif self.log.isEnabledFor(logging.DEBUG):
119119
msg_summary = WebSocketChannelsHandler._get_message_summary(json_decode(utf8(message)))
120120
self.log.debug(
121-
"Notebook client closed websocket connection - message dropped: {}".format(
122-
msg_summary
123-
)
121+
f"Notebook client closed websocket connection - message dropped: {msg_summary}"
124122
)
125123

126124
def on_close(self):

jupyter_server/gateway/managers.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ async def get_kernel_spec(self, kernel_name, **kwargs):
307307
try:
308308
response = await gateway_request(kernel_spec_url, method="GET")
309309
except web.HTTPError as error:
310-
if error.status_code == 404: # noqa[PLR2004]
310+
if error.status_code == 404: # noqa: PLR2004
311311
# Convert not found to KeyError since that's what the Notebook handler expects
312312
# message is not used, but might as well make it useful for troubleshooting
313313
msg = f"kernelspec {kernel_name} not found on Gateway server at: {GatewayClient.instance().url}"
@@ -336,7 +336,7 @@ async def get_kernel_spec_resource(self, kernel_name, path):
336336
try:
337337
response = await gateway_request(kernel_spec_resource_url, method="GET")
338338
except web.HTTPError as error:
339-
if error.status_code == 404: # noqa[PLR2004]
339+
if error.status_code == 404: # noqa: PLR2004
340340
kernel_spec_resource = None
341341
else:
342342
raise
@@ -433,7 +433,7 @@ async def refresh_model(self, model=None):
433433
response = await gateway_request(self.kernel_url, method="GET")
434434

435435
except web.HTTPError as error:
436-
if error.status_code == 404: # noqa[PLR2004]
436+
if error.status_code == 404: # noqa: PLR2004
437437
self.log.warning("Kernel not found at: %s" % self.kernel_url)
438438
model = None
439439
else:
@@ -527,7 +527,7 @@ async def shutdown_kernel(self, now=False, restart=False):
527527
response = await gateway_request(self.kernel_url, method="DELETE")
528528
self.log.debug("Shutdown kernel response: %d %s", response.code, response.reason)
529529
except web.HTTPError as error:
530-
if error.status_code == 404: # noqa[PLR2004]
530+
if error.status_code == 404: # noqa: PLR2004
531531
self.log.debug("Shutdown kernel response: kernel not found (ignored)")
532532
else:
533533
raise

jupyter_server/log.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,12 @@ def log_request(handler):
5555
except AttributeError:
5656
logger = access_log
5757

58-
if status < 300 or status == 304: # noqa[PLR2004]
58+
if status < 300 or status == 304: # noqa: PLR2004
5959
# Successes (or 304 FOUND) are debug-level
6060
log_method = logger.debug
61-
elif status < 400: # noqa[PLR2004]
61+
elif status < 400: # noqa: PLR2004
6262
log_method = logger.info
63-
elif status < 500: # noqa[PLR2004]
63+
elif status < 500: # noqa: PLR2004
6464
log_method = logger.warning
6565
else:
6666
log_method = logger.error
@@ -84,11 +84,11 @@ def log_request(handler):
8484
ns["username"] = username
8585

8686
msg = "{status} {method} {uri} ({username}@{ip}) {request_time:.2f}ms"
87-
if status >= 400: # noqa[PLR2004]
87+
if status >= 400: # noqa: PLR2004
8888
# log bad referers
8989
ns["referer"] = _scrub_uri(request.headers.get("Referer", "None"))
9090
msg = msg + " referer={referer}"
91-
if status >= 500 and status != 502: # noqa[PLR2004]
91+
if status >= 500 and status != 502: # noqa: PLR2004
9292
# Log a subset of the headers if it caused an error.
9393
headers = {}
9494
for header in ["Host", "Accept", "Referer", "User-Agent"]:

jupyter_server/serverapp.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ def init_settings(
311311
jenv_opt: dict = {"autoescape": True}
312312
jenv_opt.update(jinja_env_options if jinja_env_options else {})
313313

314-
env = Environment( # noqa[S701]
314+
env = Environment( # noqa: S701
315315
loader=FileSystemLoader(template_path), extensions=["jinja2.ext.i18n"], **jenv_opt
316316
)
317317
sys_info = get_sys_info()
@@ -2134,9 +2134,7 @@ def init_resources(self):
21342134
if hard < soft:
21352135
hard = soft
21362136
self.log.debug(
2137-
"Raising open file limit: soft {}->{}; hard {}->{}".format(
2138-
old_soft, soft, old_hard, hard
2139-
)
2137+
f"Raising open file limit: soft {old_soft}->{soft}; hard {old_hard}->{hard}"
21402138
)
21412139
resource.setrlimit(resource.RLIMIT_NOFILE, (soft, hard))
21422140

@@ -2631,11 +2629,7 @@ def running_server_info(self, kernel_count=True):
26312629
info += kernel_msg % n_kernels
26322630
info += "\n"
26332631
# Format the info so that the URL fits on a single line in 80 char display
2634-
info += _i18n(
2635-
"Jupyter Server {version} is running at:\n{url}".format(
2636-
version=ServerApp.version, url=self.display_url
2637-
)
2638-
)
2632+
info += _i18n(f"Jupyter Server {ServerApp.version} is running at:\n{self.display_url}")
26392633
if self.gateway_config.gateway_enabled:
26402634
info += (
26412635
_i18n("\nKernels will be managed by the Gateway server running at:\n%s")

jupyter_server/services/contents/filecheckpoints.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,7 @@ def checkpoint_path(self, checkpoint_id, path):
108108
parent, name = ("/" + path).rsplit("/", 1)
109109
parent = parent.strip("/")
110110
basename, ext = os.path.splitext(name)
111-
filename = "{name}-{checkpoint_id}{ext}".format(
112-
name=basename,
113-
checkpoint_id=checkpoint_id,
114-
ext=ext,
115-
)
111+
filename = f"{basename}-{checkpoint_id}{ext}"
116112
os_path = self._get_os_path(path=parent)
117113
cp_dir = os.path.join(os_path, self.checkpoint_dir)
118114
with self.perm_to_403():

jupyter_server/services/contents/filemanager.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -678,10 +678,12 @@ def _get_dir_size(self, path="."):
678678
try:
679679
if platform.system() == "Darwin":
680680
# retuns the size of the folder in KB
681-
result = subprocess.run(["du", "-sk", path], capture_output=True).stdout.split()
681+
result = subprocess.run(
682+
["du", "-sk", path], capture_output=True, check=True
683+
).stdout.split()
682684
else:
683685
result = subprocess.run(
684-
["du", "-s", "--block-size=1", path], capture_output=True
686+
["du", "-s", "--block-size=1", path], capture_output=True, check=True
685687
).stdout.split()
686688

687689
self.log.info(f"current status of du command {result}")
@@ -704,7 +706,7 @@ def _human_readable_size(self, size):
704706
units = ["Bytes", "KB", "MB", "GB", "TB", "PB"]
705707
order = int(math.log2(size) / 10) if size else 0
706708

707-
return "{:.4g} {}".format(size / (1 << (order * 10)), units[order])
709+
return f"{size / (1 << (order * 10)):.4g} {units[order]}"
708710

709711

710712
class AsyncFileContentsManager(FileContentsManager, AsyncFileManagerMixin, AsyncContentsManager):
@@ -1137,10 +1139,12 @@ async def _get_dir_size(self, path: str = ".") -> str:
11371139
try:
11381140
if platform.system() == "Darwin":
11391141
# retuns the size of the folder in KB
1140-
result = subprocess.run(["du", "-sk", path], capture_output=True).stdout.split()
1142+
result = subprocess.run(
1143+
["du", "-sk", path], capture_output=True, check=True
1144+
).stdout.split()
11411145
else:
11421146
result = subprocess.run(
1143-
["du", "-s", "--block-size=1", path], capture_output=True
1147+
["du", "-s", "--block-size=1", path], capture_output=True, check=True
11441148
).stdout.split()
11451149

11461150
self.log.info(f"current status of du command {result}")
@@ -1163,4 +1167,4 @@ async def _human_readable_size(self, size: int) -> str:
11631167
units = ["Bytes", "KB", "MB", "GB", "TB", "PB"]
11641168
order = int(math.log2(size) / 10) if size else 0
11651169

1166-
return "{:.4g} {}".format(size / (1 << (order * 10)), units[order])
1170+
return f"{size / (1 << (order * 10)):.4g} {units[order]}"

jupyter_server/services/contents/manager.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -540,9 +540,7 @@ def increment_filename(self, filename, path="", insert=""):
540540

541541
for i in itertools.count():
542542
insert_i = f"{insert}{i}" if i else ""
543-
name = "{basename}{insert}{suffix}".format(
544-
basename=basename, insert=insert_i, suffix=suffix
545-
)
543+
name = f"{basename}{insert_i}{suffix}"
546544
if not self.exists(f"{path}/{name}"):
547545
break
548546
return name
@@ -929,9 +927,7 @@ async def increment_filename(self, filename, path="", insert=""):
929927

930928
for i in itertools.count():
931929
insert_i = f"{insert}{i}" if i else ""
932-
name = "{basename}{insert}{suffix}".format(
933-
basename=basename, insert=insert_i, suffix=suffix
934-
)
930+
name = f"{basename}{insert_i}{suffix}"
935931
file_exists = await ensure_async(self.exists(f"{path}/{name}"))
936932
if not file_exists:
937933
break

jupyter_server/services/kernels/connection/channels.py

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -703,19 +703,17 @@ def _limit_rate(self, channel, msg, msg_list):
703703
)
704704
self.write_stderr(
705705
dedent(
706-
"""\
706+
f"""\
707707
IOPub message rate exceeded.
708708
The Jupyter server will temporarily stop sending output
709709
to the client in order to avoid crashing it.
710710
To change this limit, set the config variable
711711
`--ServerApp.iopub_msg_rate_limit`.
712712
713713
Current values:
714-
ServerApp.iopub_msg_rate_limit={} (msgs/sec)
715-
ServerApp.rate_limit_window={} (secs)
716-
""".format(
717-
self.iopub_msg_rate_limit, self.rate_limit_window
718-
)
714+
ServerApp.iopub_msg_rate_limit={self.iopub_msg_rate_limit} (msgs/sec)
715+
ServerApp.rate_limit_window={self.rate_limit_window} (secs)
716+
"""
719717
),
720718
msg["parent_header"],
721719
)
@@ -734,19 +732,17 @@ def _limit_rate(self, channel, msg, msg_list):
734732
)
735733
self.write_stderr(
736734
dedent(
737-
"""\
735+
f"""\
738736
IOPub data rate exceeded.
739737
The Jupyter server will temporarily stop sending output
740738
to the client in order to avoid crashing it.
741739
To change this limit, set the config variable
742740
`--ServerApp.iopub_data_rate_limit`.
743741
744742
Current values:
745-
ServerApp.iopub_data_rate_limit={} (bytes/sec)
746-
ServerApp.rate_limit_window={} (secs)
747-
""".format(
748-
self.iopub_data_rate_limit, self.rate_limit_window
749-
)
743+
ServerApp.iopub_data_rate_limit={self.iopub_data_rate_limit} (bytes/sec)
744+
ServerApp.rate_limit_window={self.rate_limit_window} (secs)
745+
"""
750746
),
751747
msg["parent_header"],
752748
)

jupyter_server/services/kernelspecs/handlers.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ def kernelspec_model(handler, name, spec_dict, resource_dir):
2626
d = {"name": name, "spec": spec_dict, "resources": {}}
2727

2828
# Add resource files if they exist
29-
resource_dir = resource_dir
3029
for resource in ["kernel.js", "kernel.css"]:
3130
if os.path.exists(pjoin(resource_dir, resource)):
3231
d["resources"][resource] = url_path_join(

jupyter_server/services/sessions/sessionmanager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ def get(self, record: Union[KernelSessionRecord, str]) -> KernelSessionRecord:
135135
"""
136136
if isinstance(record, str):
137137
for r in self._records:
138-
if record == r.kernel_id or record == r.session_id:
138+
if record in (r.kernel_id, r.session_id):
139139
return r
140140
elif isinstance(record, KernelSessionRecord):
141141
for r in self._records:

jupyter_server/traittypes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ def validate(self, obj, value):
6969
value = self._resolve_string(value)
7070
except ImportError as e:
7171
emsg = (
72-
"The '{}' trait of {} instance must be a type, but "
73-
"{!r} could not be imported".format(self.name, obj, value)
72+
f"The '{self.name}' trait of {obj} instance must be a type, but "
73+
f"{value!r} could not be imported"
7474
)
7575
raise TraitError(emsg) from e
7676
try:

0 commit comments

Comments
 (0)