From 64c65da6b439d5c485ec43e2be81f2ab1c7fc2a3 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Mon, 18 Dec 2023 15:26:53 +0200 Subject: [PATCH 1/3] pre-commit: don't prescribe python 3.8 --- .pre-commit-config.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index adb877b6..08520824 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,3 @@ -default_language_version: - python: python3.8 - ci: autofix_prs: true autoupdate_commit_msg: '[pre-commit.ci] pre-commit suggestions' From 985e94c9286afae2d4b321ca6a973f1f8289b713 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Mon, 18 Dec 2023 15:27:26 +0200 Subject: [PATCH 2/3] pre-commit: get rid of yesqa, it's for flake8 only flake8 was dropped in https://github.com/nteract/papermill/pull/752 --- .pre-commit-config.yaml | 5 ----- papermill/tests/test_inspect.py | 2 +- papermill/tests/test_translators.py | 2 +- papermill/translators.py | 2 +- pyproject.toml | 1 + 5 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 08520824..b636f1e0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -52,11 +52,6 @@ repos: - mdformat-gfm - mdformat_frontmatter - - repo: https://github.com/asottile/yesqa - rev: v1.5.0 - hooks: - - id: yesqa - - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.1.4 hooks: diff --git a/papermill/tests/test_inspect.py b/papermill/tests/test_inspect.py index f2b476c1..3b1cca7f 100644 --- a/papermill/tests/test_inspect.py +++ b/papermill/tests/test_inspect.py @@ -94,7 +94,7 @@ def test_str_path(): [ "Dummy usage", "\nParameters inferred for notebook '{name}':", - "\n Can't infer anything about this notebook's parameters. It may not have any parameter defined.", # noqa + "\n Can't infer anything about this notebook's parameters. It may not have any parameter defined.", ], ), ], diff --git a/papermill/tests/test_translators.py b/papermill/tests/test_translators.py index 232630ae..0edc1f07 100644 --- a/papermill/tests/test_translators.py +++ b/papermill/tests/test_translators.py @@ -87,7 +87,7 @@ def test_translate_comment_python(test_input, expected): [Parameter("a", "List[str]", "['this','is','a','string','list']", "Nice variable a")], ), ( - "a: List[str] = [\n 'this',\n 'is',\n 'a',\n 'string',\n 'list'\n] # Nice variable a", # noqa + "a: List[str] = [\n 'this',\n 'is',\n 'a',\n 'string',\n 'list'\n] # Nice variable a", [Parameter("a", "List[str]", "['this','is','a','string','list']", "Nice variable a")], ), ( diff --git a/papermill/translators.py b/papermill/translators.py index 1002cf7b..d0b5aec1 100644 --- a/papermill/translators.py +++ b/papermill/translators.py @@ -143,7 +143,7 @@ def inspect(cls, parameters_cell): class PythonTranslator(Translator): # Pattern to capture parameters within cell input PARAMETER_PATTERN = re.compile( - r"^(?P\w[\w_]*)\s*(:\s*[\"']?(?P\w[\w_\[\],\s]*)[\"']?\s*)?=\s*(?P.*?)(\s*#\s*(type:\s*(?P[^\s]*)\s*)?(?P.*))?$" # noqa + r"^(?P\w[\w_]*)\s*(:\s*[\"']?(?P\w[\w_\[\],\s]*)[\"']?\s*)?=\s*(?P.*?)(\s*#\s*(type:\s*(?P[^\s]*)\s*)?(?P.*))?$" ) @classmethod diff --git a/pyproject.toml b/pyproject.toml index 4aa6e16c..2e1ea524 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,6 +47,7 @@ select = [ "I", # isort # "D", # see: https://pypi.org/project/pydocstyle # "N", # see: https://pypi.org/project/pep8-naming + "RUF100", # unnecessary noqa comment ] #extend-select = [ # "C4", # see: https://pypi.org/project/flake8-comprehensions From a401b15ee077e64bd8c22a14e706a4b755e52e11 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Mon, 18 Dec 2023 15:28:54 +0200 Subject: [PATCH 3/3] pre-commit: use ruff's UP rules instead of pyupgrade --- .pre-commit-config.yaml | 9 +-------- papermill/adl.py | 7 +------ papermill/cli.py | 6 +----- papermill/exceptions.py | 10 +++++----- pyproject.toml | 2 ++ 5 files changed, 10 insertions(+), 24 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b636f1e0..7574a1fa 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,13 +18,6 @@ repos: - id: check-docstring-first - id: detect-private-key - - repo: https://github.com/asottile/pyupgrade - rev: v3.15.0 - hooks: - - id: pyupgrade - args: ["--py38-plus"] - name: Upgrade code - #- repo: https://github.com/myint/docformatter # rev: v1.5.0 # hooks: @@ -53,7 +46,7 @@ repos: - mdformat_frontmatter - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.4 + rev: v0.1.8 hooks: - id: ruff args: ["--fix"] diff --git a/papermill/adl.py b/papermill/adl.py index 01efd44d..7dd48962 100644 --- a/papermill/adl.py +++ b/papermill/adl.py @@ -39,12 +39,7 @@ def listdir(self, url): """Returns a list of the files under the specified path""" (store_name, path) = self._split_url(url) adapter = self._create_adapter(store_name) - return [ - "adl://{store_name}.azuredatalakestore.net/{path_to_child}".format( - store_name=store_name, path_to_child=path_to_child - ) - for path_to_child in adapter.ls(path) - ] + return [f"adl://{store_name}.azuredatalakestore.net/{path_to_child}" for path_to_child in adapter.ls(path)] def read(self, url): """Read storage at a given url""" diff --git a/papermill/cli.py b/papermill/cli.py index 8593f543..0c1b54d0 100755 --- a/papermill/cli.py +++ b/papermill/cli.py @@ -26,11 +26,7 @@ def print_papermill_version(ctx, param, value): if not value: return - print( - "{version} from {path} ({pyver})".format( - version=papermill_version, path=__file__, pyver=platform.python_version() - ) - ) + print(f"{papermill_version} from {__file__} ({platform.python_version()})") ctx.exit() diff --git a/papermill/exceptions.py b/papermill/exceptions.py index 26b68cf8..c03fcdf9 100644 --- a/papermill/exceptions.py +++ b/papermill/exceptions.py @@ -59,8 +59,8 @@ class PapermillParameterOverwriteWarning(PapermillWarning): def missing_dependency_generator(package, dep): def missing_dep(): raise PapermillOptionalDependencyException( - "The {package} optional dependency is missing. " - "Please run pip install papermill[{dep}] to install this dependency".format(package=package, dep=dep) + f"The {package} optional dependency is missing. " + f"Please run pip install papermill[{dep}] to install this dependency" ) return missing_dep @@ -69,9 +69,9 @@ def missing_dep(): def missing_environment_variable_generator(package, env_key): def missing_dep(): raise PapermillOptionalDependencyException( - "The {package} optional dependency is present, but the environment " - "variable {env_key} is not set. Please set this variable as " - "required by {package} on your platform.".format(package=package, env_key=env_key) + f"The {package} optional dependency is present, but the environment " + f"variable {env_key} is not set. Please set this variable as " + f"required by {package} on your platform." ) return missing_dep diff --git a/pyproject.toml b/pyproject.toml index 2e1ea524..18e02d6e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,6 +39,7 @@ ignore-words-list = "dne, compiletime" [tool.ruff] +target-version = "py38" line-length = 120 # Enable Pyflakes `E` and `F` codes by default. select = [ @@ -48,6 +49,7 @@ select = [ # "D", # see: https://pypi.org/project/pydocstyle # "N", # see: https://pypi.org/project/pep8-naming "RUF100", # unnecessary noqa comment + "UP", # pyupgrade ] #extend-select = [ # "C4", # see: https://pypi.org/project/flake8-comprehensions