From ef7c45f28132a7704a4549072ce5b272034fa196 Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Wed, 18 Aug 2021 09:24:14 -0700 Subject: [PATCH 1/1] Remove `language_version` for pre-commit (#2430) * Remove `language_version` for pre-commit At my company, we set the Python version in `default_language_version` in each repo's `.pre-commit-config.yaml`, so that all hooks are running with the same Python version. However, this currently doesn't work for black, as the `language_version` specified here in the upstream `.pre-commit-hooks.yaml` takes precedence. Currently, this requires us to manually set `language_version` specifically for black, duplicating the value from `default_language_version`. The failure mode otherwise is subtle - black works most of the time, but try to add a walrus operator and it suddenly breaks! Given that black's `setup.py` already has `python_requires>=3.6.2`, specifying that `python3` must be used here isn't needed as folks inadvertently using Python 2 will get hook-install-time failures anyways. Remove the `language_version` from these upstream hook configs so that users of black are able to use `default_language_version` and have it apply to all their hooks, black included. Example `.pre-commit-config.yaml` before: ``` default_language_version: python: python3.8 repos: - repo: https://github.com/psf/black rev: 21.7b0 hooks: - id: black language_version: python3.8 ``` After: ``` default_language_version: python: python3.8 repos: - repo: https://github.com/psf/black rev: 21.7b0 hooks: - id: black ``` * Add changelog entry --- .pre-commit-hooks.yaml | 2 -- CHANGES.md | 5 +++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.pre-commit-hooks.yaml b/.pre-commit-hooks.yaml index 81848d7..1379570 100644 --- a/.pre-commit-hooks.yaml +++ b/.pre-commit-hooks.yaml @@ -3,7 +3,6 @@ description: "Black: The uncompromising Python code formatter" entry: black language: python - language_version: python3 minimum_pre_commit_version: 2.9.2 require_serial: true types_or: [python, pyi] @@ -13,7 +12,6 @@ "Black: The uncompromising Python code formatter (with Jupyter Notebook support)" entry: black language: python - language_version: python3 minimum_pre_commit_version: 2.9.2 require_serial: true types_or: [python, pyi, jupyter] diff --git a/CHANGES.md b/CHANGES.md index a678aae..a4b8e01 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,6 +7,11 @@ - Add support for formatting Jupyter Notebook files (#2357) - Move from `appdirs` dependency to `platformdirs` (#2375) +### Integrations + +- The provided pre-commit hooks no longer specify `language_version` to avoid overriding + `default_language_version` (#2430) + ## 21.7b0 ### _Black_ -- 2.39.5