From d252423198e3bce218fd4c370a706f373dcb4c78 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 13 Dec 2023 16:09:23 +0100 Subject: [PATCH] Update ruff config and typing (#7145) (#7186) (cherry picked from commit 29d665dbac144d143d843168da9823cab6498b0a) Co-authored-by: Steven Silvester --- .pre-commit-config.yaml | 8 ++++++-- binder/example.ipynb | 5 ++--- docs/source/examples/Notebook/Running Code.ipynb | 8 +++----- notebook/app.py | 3 +++ pyproject.toml | 7 +++++-- ui-tests/test/notebooks/autoscroll.ipynb | 8 ++++++-- 6 files changed, 25 insertions(+), 14 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index abe189c2a5..92a9022322 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -50,7 +50,7 @@ repos: files: "^notebook" stages: [manual] args: ["--install-types", "--non-interactive"] - additional_dependencies: ["traitlets>=5.13", "tornado", "jupyter_server>=2.9", "jupyterlab_server>=2.25", "jupyterlab>=4.0"] + additional_dependencies: ["traitlets>=5.13", "tornado", "jupyter_server>=2.10", "jupyterlab_server>=2.25", "jupyterlab>=4.0"] - repo: https://github.com/pre-commit/pygrep-hooks rev: 'v1.10.0' @@ -60,11 +60,15 @@ repos: - id: rst-inline-touching-normal - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.3 + rev: v0.1.5 hooks: - id: ruff + types_or: [ python, jupyter ] + exclude: '^docs/source/examples/Notebook/Importing Notebooks.ipynb' args: ['--fix', '--show-fixes'] - id: ruff-format + types_or: [ python, jupyter ] + exclude: '^docs/source/examples/Notebook/Importing Notebooks.ipynb' - repo: https://github.com/scientific-python/cookie rev: '2023.10.27' diff --git a/binder/example.ipynb b/binder/example.ipynb index c8d428ecd4..df3144614d 100644 --- a/binder/example.ipynb +++ b/binder/example.ipynb @@ -235,7 +235,7 @@ "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n", "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n", "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n", - "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n", + "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0\n", "\\end{eqnarray}\"\"\"\n", ")" ] @@ -277,8 +277,7 @@ "metadata": {}, "outputs": [], "source": [ - "from IPython.display import HTML\n", - "from IPython.display import display\n", + "from IPython.display import HTML, display\n", "\n", "s = \"\"\"\n", "\n", diff --git a/docs/source/examples/Notebook/Running Code.ipynb b/docs/source/examples/Notebook/Running Code.ipynb index 25879272ea..c932132601 100644 --- a/docs/source/examples/Notebook/Running Code.ipynb +++ b/docs/source/examples/Notebook/Running Code.ipynb @@ -124,7 +124,6 @@ "outputs": [], "source": [ "import sys\n", - "from ctypes import CDLL\n", "\n", "# This will crash a Linux or Mac system\n", "# equivalent calls can be made on Windows\n", @@ -225,9 +224,7 @@ } ], "source": [ - "from __future__ import print_function\n", - "\n", - "print('hi, stderr', file=sys.stderr)" + "print(\"hi, stderr\", file=sys.stderr)" ] }, { @@ -270,7 +267,8 @@ } ], "source": [ - "import time, sys\n", + "import sys\n", + "import time\n", "\n", "for i in range(8):\n", " print(i)\n", diff --git a/notebook/app.py b/notebook/app.py index 53cc86e65b..dffa397946 100644 --- a/notebook/app.py +++ b/notebook/app.py @@ -301,6 +301,8 @@ def _prepare_templates(self) -> None: def server_extension_is_enabled(self, extension: str) -> bool: """Check if server extension is enabled.""" + if self.serverapp is None: + return False try: extension_enabled = ( self.serverapp.extension_manager.extensions[extension].enabled is True @@ -311,6 +313,7 @@ def server_extension_is_enabled(self, extension: str) -> bool: def initialize_handlers(self) -> None: """Initialize handlers.""" + assert self.serverapp is not None # noqa: S101 page_config = self.serverapp.web_app.settings.setdefault("page_config_data", {}) nbclassic_enabled = self.server_extension_is_enabled("nbclassic") page_config["nbclassic_enabled"] = nbclassic_enabled diff --git a/pyproject.toml b/pyproject.toml index fb41a0e10f..e160b1fcda 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -138,7 +138,10 @@ nowarn = "test -W default {args}" detached = true dependencies = ["pre-commit"] [tool.hatch.envs.lint.scripts] -build = "pre-commit run --all-files ruff" +build = [ + "pre-commit run --all-files ruff", + "pre-commit run --all-files ruff-format" +] [tool.hatch.envs.typing] dependencies = [ "pre-commit"] @@ -233,7 +236,6 @@ enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"] warn_unreachable = true [tool.ruff] -target-version = "py38" line-length = 100 [tool.ruff.lint] @@ -260,6 +262,7 @@ ignore = [ "tests/*" = ["S101", "F841", "PLR2004"] # undefined name 'c' "ui-tests/test/jupyter_server_config.py" = ["F821"] +"*.ipynb" = ["E402", "B018", "E501", "T201"] [tool.interrogate] ignore-init-module=true diff --git a/ui-tests/test/notebooks/autoscroll.ipynb b/ui-tests/test/notebooks/autoscroll.ipynb index d386426b19..bcb8b23932 100644 --- a/ui-tests/test/notebooks/autoscroll.ipynb +++ b/ui-tests/test/notebooks/autoscroll.ipynb @@ -6,7 +6,9 @@ "id": "6f7028b9-4d2c-4fa2-96ee-bfa77bbee434", "metadata": {}, "outputs": [], - "source": ["print('1\\n' * 200)"] + "source": [ + "print(\"1\\n\" * 200)" + ] }, { "cell_type": "code", @@ -14,7 +16,9 @@ "id": "6f7028b9-4d2c-4fa2-96ee-bfa77bbee434", "metadata": {}, "outputs": [], - "source": ["print('1\\n' * 20)"] + "source": [ + "print(\"1\\n\" * 20)" + ] } ], "metadata": {