Skip to content

Commit 464a12d

Browse files
Bump ruff from 0.4.7 to 0.5.5 in the pip group across 1 directory (#24)
* Bump ruff from 0.4.7 to 0.5.5 in the pip group across 1 directory Bumps the pip group with 1 update in the / directory: [ruff](https://github.com/astral-sh/ruff). Updates `ruff` from 0.4.7 to 0.5.5 - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@v0.4.7...0.5.5) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip ... Signed-off-by: dependabot[bot] <[email protected]> * Fix ruff errors --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Frédéric Collonval <[email protected]>
1 parent c981ab1 commit 464a12d

14 files changed

+481
-148
lines changed

.pre-commit-config.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ repos:
5757
["traitlets>=5.13"]
5858

5959
- repo: https://github.com/astral-sh/ruff-pre-commit
60-
rev: v0.3.4
60+
rev: v0.5.5
6161
hooks:
62-
# - id: ruff
63-
# types_or: [python, jupyter]
64-
# args: ["--fix", "--show-fixes"]
62+
- id: ruff
63+
types_or: [python, jupyter]
64+
args: ["--fix", "--show-fixes"]
6565
- id: ruff-format
6666
types_or: [python, jupyter]
6767

jupyter_builder/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
# the package from a stable release or in editable mode: https://pip.pypa.io/en/stable/topics/local-project-installs/#editable-installs
1010
import warnings
1111

12-
warnings.warn("Importing 'jupyter_builder' outside a proper installation.")
12+
warnings.warn("Importing 'jupyter_builder' outside a proper installation.", stacklevel=1)
1313
__version__ = "dev"

jupyter_builder/base_extension_app.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# Distributed under the terms of the Modified BSD License.
55

66
from __future__ import annotations
7+
78
import os
89
from copy import copy
910

@@ -15,9 +16,6 @@
1516

1617
HERE = os.path.dirname(os.path.abspath(__file__))
1718

18-
19-
# from .federated_labextensions import build_labextension, develop_labextension_py, watch_labextension
20-
2119
flags = dict(base_flags)
2220

2321
develop_flags = copy(flags)

jupyter_builder/commands.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ def _compare_ranges(spec1, spec2, drop_prerelease1=False, drop_prerelease2=False
4141
# Set return_value to a sentinel value
4242
return_value = False
4343

44-
# r1.set may be a list of ranges if the range involved an ||, so we need to test for overlaps between each pair.
44+
# r1.set may be a list of ranges if the range involved an ||,
45+
# so we need to test for overlaps between each pair.
4546
for r1set, r2set in itertools.product(r1.set, r2.set):
4647
x1 = r1set[0].semver
4748
x2 = r1set[-1].semver

jupyter_builder/debug_log_file_mixin.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,18 @@ def debug_logging(self):
4747
for line in msg:
4848
self.log.debug(line)
4949
if isinstance(ex, SystemExit):
50-
warnings.warn(f"An error occurred. See the log file for details: {log_path}")
50+
warnings.warn(
51+
f"An error occurred. See the log file for details: {log_path}", stacklevel=1
52+
)
5153
raise
52-
warnings.warn("An error occurred.")
53-
warnings.warn(msg[-1].strip())
54-
warnings.warn(f"See the log file for details: {log_path}")
54+
warnings.warn("An error occurred.", stacklevel=1)
55+
warnings.warn(msg[-1].strip(), stacklevel=1)
56+
warnings.warn(f"See the log file for details: {log_path}", stacklevel=1)
5557
self.exit(1)
5658
else:
5759
log.removeHandler(_debug_handler)
5860
_debug_handler.flush()
5961
_debug_handler.close()
60-
try:
62+
with contextlib.suppress(FileNotFoundError):
6163
os.remove(log_path)
62-
except FileNotFoundError:
63-
pass
6464
log.removeHandler(_debug_handler)

jupyter_builder/extension_commands/build.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
from traitlets import Bool, Unicode
77

8-
from ..base_extension_app import BaseExtensionApp
9-
from ..core_path import default_core_path
10-
from ..federated_extensions import build_labextension
8+
from jupyter_builder.base_extension_app import BaseExtensionApp
9+
from jupyter_builder.core_path import default_core_path
10+
from jupyter_builder.federated_extensions import build_labextension
1111

1212
HERE = os.path.dirname(os.path.abspath(__file__))
1313

@@ -27,7 +27,7 @@ class BuildLabExtensionApp(BaseExtensionApp):
2727
help="Directory containing core application package.json file",
2828
)
2929

30-
aliases = {
30+
aliases = { # noqa: RUF012
3131
"static-url": "BuildLabExtensionApp.static_url",
3232
"development": "BuildLabExtensionApp.development",
3333
"source-map": "BuildLabExtensionApp.source_map",

jupyter_builder/extension_commands/develop.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
from jupyter_core.application import base_flags
88
from traitlets import Bool, Unicode
99

10-
from ..base_extension_app import BaseExtensionApp
11-
from ..federated_extensions import develop_labextension_py
10+
from jupyter_builder.base_extension_app import BaseExtensionApp
11+
from jupyter_builder.federated_extensions import develop_labextension_py
1212

1313
flags = dict(base_flags)
1414
develop_flags = copy(flags)

jupyter_builder/extension_commands/watch.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
from traitlets import Bool, Unicode
77

8-
from ..base_extension_app import BaseExtensionApp
9-
from ..federated_extensions import watch_labextension
10-
from ..core_path import default_core_path
8+
from jupyter_builder.base_extension_app import BaseExtensionApp
9+
from jupyter_builder.core_path import default_core_path
10+
from jupyter_builder.federated_extensions import watch_labextension
1111

1212
HERE = os.path.dirname(os.path.abspath(__file__))
1313

@@ -25,7 +25,7 @@ class WatchLabExtensionApp(BaseExtensionApp):
2525
help="Directory containing core application package.json file",
2626
)
2727

28-
aliases = {
28+
aliases = { # noqa: RUF012
2929
"core-path": "WatchLabExtensionApp.core_path",
3030
"development": "WatchLabExtensionApp.development",
3131
"source-map": "WatchLabExtensionApp.source_map",

jupyter_builder/federated_extensions.py

+22-25
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,15 @@
2525
from jupyter_core.utils import ensure_dir_exists
2626
from jupyter_server.extension.serverextension import ArgumentConflict
2727

28-
# from jupyterlab_server.config import get_federated_extensions
2928
from .federated_extensions_requirements import get_federated_extensions
3029

3130
try:
3231
from tomllib import load # Python 3.11+
3332
except ImportError:
3433
from tomli import load
3534

35+
from .core_path import default_core_path
36+
3637
# from .commands import _test_overlap TO BE DONE -----------------------------
3738

3839
DEPRECATED_ARGUMENT = object()
@@ -95,7 +96,7 @@ def develop_labextension( # noqa
9596
ensure_dir_exists(labext)
9697

9798
if isinstance(path, (list, tuple)):
98-
msg = "path must be a string pointing to a single extension to install; call this function multiple times to install multiple extensions"
99+
msg = "path must be a string pointing to a single extension to install; call this function multiple times to install multiple extensions" # noqa: E501
99100
raise TypeError(msg)
100101

101102
if not destination:
@@ -104,7 +105,7 @@ def develop_labextension( # noqa
104105
full_dest = normpath(pjoin(labext, destination))
105106
if overwrite and os.path.lexists(full_dest):
106107
if logger:
107-
logger.info("Removing: %s" % full_dest)
108+
logger.info("Removing: %s", full_dest)
108109
if os.path.isdir(full_dest) and not os.path.islink(full_dest):
109110
shutil.rmtree(full_dest)
110111
else:
@@ -124,22 +125,23 @@ def develop_labextension( # noqa
124125
if platform.platform().startswith("Windows"):
125126
msg = (
126127
"Symlinks can be activated on Windows 10 for Python version 3.8 or higher"
127-
" by activating the 'Developer Mode'. That may not be allowed by your administrators.\n"
128+
" by activating the 'Developer Mode'. That may not be allowed by your administrators.\n" # noqa: E501
128129
"See https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development"
129130
)
130131
raise OSError(msg) from e
131132
raise
132133

133134
elif not os.path.islink(full_dest):
134-
raise ValueError("%s exists and is not a symlink" % full_dest)
135+
msg = f"{full_dest} exists and is not a symlink"
136+
raise ValueError(msg)
135137

136138
elif os.path.isdir(path):
137139
path = pjoin(os.path.abspath(path), "") # end in path separator
138140
for parent, _, files in os.walk(path):
139141
dest_dir = pjoin(full_dest, parent[len(path) :])
140142
if not os.path.exists(dest_dir):
141143
if logger:
142-
logger.info("Making directory: %s" % dest_dir)
144+
logger.info("Making directory: %s", dest_dir)
143145
os.makedirs(dest_dir)
144146
for file_name in files:
145147
src = pjoin(parent, file_name)
@@ -152,7 +154,7 @@ def develop_labextension( # noqa
152154
return full_dest
153155

154156

155-
def develop_labextension_py(
157+
def develop_labextension_py( # noqa: PLR0913
156158
module,
157159
user=False,
158160
sys_prefix=False,
@@ -195,10 +197,7 @@ def develop_labextension_py(
195197
return full_dests
196198

197199

198-
from .core_path import default_core_path
199-
200-
201-
def build_labextension(
200+
def build_labextension( # noqa: PLR0913
202201
path, logger=None, development=False, static_url=None, source_map=False, core_path=None
203202
):
204203
"""Build a labextension in the given path"""
@@ -208,7 +207,7 @@ def build_labextension(
208207
ext_path = str(Path(path).resolve())
209208

210209
if logger:
211-
logger.info("Building extension in %s" % path)
210+
logger.info("Building extension in %s", path)
212211

213212
builder = _ensure_builder(ext_path, core_path)
214213

@@ -223,15 +222,15 @@ def build_labextension(
223222
subprocess.check_call(arguments, cwd=ext_path) # noqa S603
224223

225224

226-
def watch_labextension(
225+
def watch_labextension( # noqa: PLR0913
227226
path, labextensions_path, logger=None, development=False, source_map=False, core_path=None
228227
):
229228
"""Watch a labextension in a given path"""
230229
core_path = default_core_path() if core_path is None else str(Path(core_path).resolve())
231230
ext_path = str(Path(path).resolve())
232231

233232
if logger:
234-
logger.info("Building extension in %s" % path)
233+
logger.info("Building extension in %s", path)
235234

236235
# Check to see if we need to create a symlink
237236
federated_extensions = get_federated_extensions(labextensions_path)
@@ -274,9 +273,8 @@ def _ensure_builder(ext_path, core_path):
274273
dep_version2 = ext_data.get("devDependencies", {}).get("@jupyterlab/builder")
275274
dep_version2 = dep_version2 or ext_data.get("dependencies", {}).get("@jupyterlab/builder")
276275
if dep_version2 is None:
277-
raise ValueError(
278-
"Extensions require a devDependency on @jupyterlab/builder@%s" % dep_version1
279-
)
276+
msg = f"Extensions require a devDependency on @jupyterlab/builder@{dep_version1}"
277+
raise ValueError(msg)
280278

281279
# if we have installed from disk (version is a path), assume we know what
282280
# we are doing and do not check versions.
@@ -310,7 +308,7 @@ def _ensure_builder(ext_path, core_path):
310308
# )
311309

312310
# if not overlap:
313-
# msg = f"Extensions require a devDependency on @jupyterlab/builder@{dep_version1}, you have a dependency on {dep_version2}"
311+
# msg = f"Extensions require a devDependency on @jupyterlab/builder@{dep_version1}, you have a dependency on {dep_version2}" # noqa: E501
314312
# raise ValueError(msg)
315313

316314
return osp.join(
@@ -339,10 +337,10 @@ def _should_copy(src, dest, logger=None):
339337
# we add a fudge factor to work around a bug in python 2.x
340338
# that was fixed in python 3.x: https://bugs.python.org/issue12904
341339
if logger:
342-
logger.warning("Out of date: %s" % dest)
340+
logger.warning("Out of date: %s", dest)
343341
return True
344342
if logger:
345-
logger.info("Up to date: %s" % dest)
343+
logger.info("Up to date: %s", dest)
346344
return False
347345

348346

@@ -388,9 +386,8 @@ def _get_labextension_dir(user=False, sys_prefix=False, prefix=None, labextensio
388386
]
389387
conflicting_set = [f"{n}={v!r}" for n, v in conflicting if v]
390388
if len(conflicting_set) > 1:
391-
msg = "cannot specify more than one of user, sys_prefix, prefix, or labextensions_dir, but got: {}".format(
392-
", ".join(conflicting_set)
393-
)
389+
conflict = ", ".join(conflicting_set)
390+
msg = f"cannot specify more than one of user, sys_prefix, prefix, or labextensions_dir, but got: {conflict}" # noqa: E501
394391
raise ArgumentConflict(msg)
395392
if user:
396393
labext = pjoin(jupyter_data_dir(), "labextensions")
@@ -449,8 +446,8 @@ def _get_labextension_metadata(module): # noqa
449446
if not package:
450447
try:
451448
package = (
452-
subprocess.check_output(
453-
[sys.executable, "setup.py", "--name"], # noqa S603
449+
subprocess.check_output( # noqa: S603
450+
[sys.executable, "setup.py", "--name"],
454451
cwd=mod_path,
455452
)
456453
.decode("utf8")

jupyter_builder/federated_extensions_requirements.py

+12-12
Original file line numberDiff line numberDiff line change
@@ -50,21 +50,21 @@ def get_federated_extensions(labextensions_path: list[str]) -> dict[str, Any]:
5050
with open(ext_path, encoding="utf-8") as fid:
5151
pkgdata = json.load(fid)
5252
if pkgdata["name"] not in federated_extensions:
53-
data = dict(
54-
name=pkgdata["name"],
55-
version=pkgdata["version"],
56-
description=pkgdata.get("description", ""),
57-
url=get_package_url(pkgdata),
58-
ext_dir=ext_dir,
59-
ext_path=osp.dirname(ext_path),
60-
is_local=False,
61-
dependencies=pkgdata.get("dependencies", dict()),
62-
jupyterlab=pkgdata.get("jupyterlab", dict()),
63-
)
53+
data = {
54+
"name": pkgdata["name"],
55+
"version": pkgdata["version"],
56+
"description": pkgdata.get("description", ""),
57+
"url": get_package_url(pkgdata),
58+
"ext_dir": ext_dir,
59+
"ext_path": osp.dirname(ext_path),
60+
"is_local": False,
61+
"dependencies": pkgdata.get("dependencies", {}),
62+
"jupyterlab": pkgdata.get("jupyterlab", {}),
63+
}
6464

6565
# Add repository info if available
6666
if "repository" in pkgdata and "url" in pkgdata.get("repository", {}):
67-
data["repository"] = dict(url=pkgdata.get("repository").get("url"))
67+
data["repository"] = {"url": pkgdata.get("repository").get("url")}
6868

6969
install_path = osp.join(osp.dirname(ext_path), "install.json")
7070
if osp.exists(install_path):

0 commit comments

Comments
 (0)