Skip to content

Commit 5b13ace

Browse files
authored
feat: add pyink as a Python formatter (super-linter#6083)
1 parent 202d47f commit 5b13ace

21 files changed

+33
-3
lines changed

.github/linters/.jscpd.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"**/test/linters/python_flake8",
3131
"**/test/linters/python_isort",
3232
"**/test/linters/python_mypy",
33+
"**/test/linters/python_pyink",
3334
"**/test/linters/python_pylint",
3435
"**/test/linters/python_ruff",
3536
"**/test/linters/r",

Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,7 @@ ENV PATH="${PATH}:/venvs/cpplint/bin"
404404
ENV PATH="${PATH}:/venvs/flake8/bin"
405405
ENV PATH="${PATH}:/venvs/isort/bin"
406406
ENV PATH="${PATH}:/venvs/mypy/bin"
407+
ENV PATH="${PATH}:/venvs/pyink/bin"
407408
ENV PATH="${PATH}:/venvs/pylint/bin"
408409
ENV PATH="${PATH}:/venvs/ruff/bin"
409410
ENV PATH="${PATH}:/venvs/snakefmt/bin"

README.md

Lines changed: 5 additions & 2 deletions
Large diffs are not rendered by default.

TEMPLATES/.python-pyink

Whitespace-only changes.

dependencies/python/pyink.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pyink==24.3.0

lib/functions/buildFileList.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,7 @@ BuildFileArrays() {
469469
echo "${FILE}" >>"${FILE_ARRAYS_DIRECTORY_PATH}/file-array-PYTHON_ISORT"
470470
echo "${FILE}" >>"${FILE_ARRAYS_DIRECTORY_PATH}/file-array-PYTHON_PYLINT"
471471
echo "${FILE}" >>"${FILE_ARRAYS_DIRECTORY_PATH}/file-array-PYTHON_MYPY"
472+
echo "${FILE}" >>"${FILE_ARRAYS_DIRECTORY_PATH}/file-array-PYTHON_PYINK"
472473
echo "${FILE}" >>"${FILE_ARRAYS_DIRECTORY_PATH}/file-array-PYTHON_RUFF"
473474
elif [ "${FILE_TYPE}" == "raku" ] || [ "${FILE_TYPE}" == "rakumod" ] ||
474475
[ "${FILE_TYPE}" == "rakutest" ] || [ "${FILE_TYPE}" == "pm6" ] ||

lib/functions/linterCommands.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ LINTER_COMMANDS_ARRAY_PYTHON_PYLINT=(pylint --rcfile "${PYTHON_PYLINT_LINTER_RUL
132132
LINTER_COMMANDS_ARRAY_PYTHON_FLAKE8=(flake8 --config="${PYTHON_FLAKE8_LINTER_RULES}")
133133
LINTER_COMMANDS_ARRAY_PYTHON_ISORT=(isort --sp "${PYTHON_ISORT_LINTER_RULES}")
134134
LINTER_COMMANDS_ARRAY_PYTHON_MYPY=(mypy --config-file "${PYTHON_MYPY_LINTER_RULES}" --install-types --non-interactive)
135+
LINTER_COMMANDS_ARRAY_PYTHON_PYINK=(pyink --config "${PYTHON_PYINK_LINTER_RULES}")
135136
LINTER_COMMANDS_ARRAY_PYTHON_RUFF=(ruff check --config "${PYTHON_RUFF_LINTER_RULES}")
136137
LINTER_COMMANDS_ARRAY_R=(R --slave -e "\"lints <- lintr::lint('{}');print(lints);errors <- purrr::keep(lints, ~ .\\\$type == 'error');quit(save = 'no', status = if (length(errors) > 0) 1 else 0)\"")
137138
LINTER_COMMANDS_ARRAY_RAKU=(raku)

lib/globals/languages.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ LANGUAGE_ARRAY=('ANSIBLE' 'ARM' 'BASH' 'BASH_EXEC' 'CHECKOV' 'CLANG_FORMAT'
2929
"MARKDOWN_PRETTIER"
3030
'NATURAL_LANGUAGE' 'OPENAPI' 'PERL' 'PHP_BUILTIN' 'PHP_PHPCS' 'PHP_PHPSTAN'
3131
'PHP_PSALM' 'POWERSHELL' 'PROTOBUF' 'PYTHON_BLACK' 'PYTHON_PYLINT'
32-
'PYTHON_FLAKE8' 'PYTHON_ISORT' 'PYTHON_MYPY' 'PYTHON_RUFF'
32+
'PYTHON_FLAKE8' 'PYTHON_ISORT' 'PYTHON_MYPY' 'PYTHON_PYINK' 'PYTHON_RUFF'
3333
'R' 'RAKU' 'RENOVATE' 'RUBY' 'RUST_2015'
3434
'RUST_2018' 'RUST_2021' 'RUST_CLIPPY' 'SCALAFMT' 'SHELL_SHFMT'
3535
'SNAKEMAKE_LINT' 'SNAKEMAKE_SNAKEFMT' 'STATES' 'SQLFLUFF' 'TEKTON'

lib/globals/linterCommandsOptions.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ JSX_PRETTIER_CHECK_ONLY_MODE_OPTIONS=("${PRETTIER_CHECK_ONLY_MODE_OPTIONS[@]}")
2727
MARKDOWN_PRETTIER_CHECK_ONLY_MODE_OPTIONS=("${PRETTIER_CHECK_ONLY_MODE_OPTIONS[@]}")
2828
PYTHON_BLACK_CHECK_ONLY_MODE_OPTIONS=(--diff --check)
2929
PYTHON_ISORT_CHECK_ONLY_MODE_OPTIONS=(--diff --check)
30+
PYTHON_PYINK_CHECK_ONLY_MODE_OPTIONS=(--diff --check)
3031
RUST_2015_CHECK_ONLY_MODE_OPTIONS=("${RUSTFMT_CHECK_ONLY_MODE_OPTIONS[@]}")
3132
RUST_2018_CHECK_ONLY_MODE_OPTIONS=("${RUSTFMT_CHECK_ONLY_MODE_OPTIONS[@]}")
3233
RUST_2021_CHECK_ONLY_MODE_OPTIONS=("${RUSTFMT_CHECK_ONLY_MODE_OPTIONS[@]}")

lib/globals/linterRules.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ PYTHON_ISORT_FILE_NAME="${PYTHON_ISORT_CONFIG_FILE:-.isort.cfg}"
7878
# shellcheck disable=SC2034 # Variable is referenced indirectly
7979
PYTHON_MYPY_FILE_NAME="${PYTHON_MYPY_CONFIG_FILE:-.mypy.ini}"
8080
# shellcheck disable=SC2034 # Variable is referenced indirectly
81+
PYTHON_PYINK_FILE_NAME="${PYTHON_PYINK_CONFIG_FILE:-.python-pyink}"
82+
# shellcheck disable=SC2034 # Variable is referenced indirectly
8183
PYTHON_PYLINT_FILE_NAME="${PYTHON_PYLINT_CONFIG_FILE:-.python-lint}"
8284
# shellcheck disable=SC2034 # Variable is referenced indirectly
8385
PYTHON_RUFF_FILE_NAME="${PYTHON_RUFF_CONFIG_FILE:-.ruff.toml}"

scripts/linterVersions.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ LINTER_NAMES_ARRAY['PYTHON_PYLINT']="pylint"
5656
LINTER_NAMES_ARRAY['PYTHON_FLAKE8']="flake8"
5757
LINTER_NAMES_ARRAY['PYTHON_ISORT']="isort"
5858
LINTER_NAMES_ARRAY['PYTHON_MYPY']="mypy"
59+
LINTER_NAMES_ARRAY['PYTHON_PYINK']="pyink"
5960
LINTER_NAMES_ARRAY['PYTHON_RUFF']="ruff"
6061
LINTER_NAMES_ARRAY['R']="R"
6162
LINTER_NAMES_ARRAY['RAKU']="raku"

test/data/super-linter-summary/markdown/table/expected-summary-test-linters-expect-failure-slim.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
| PYTHON_FLAKE8 | Fail ❌ |
6161
| PYTHON_ISORT | Fail ❌ |
6262
| PYTHON_MYPY | Fail ❌ |
63+
| PYTHON_PYINK | Fail ❌ |
6364
| PYTHON_RUFF | Fail ❌ |
6465
| R | Fail ❌ |
6566
| RAKU | Fail ❌ |

test/data/super-linter-summary/markdown/table/expected-summary-test-linters-expect-failure-standard.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
| PYTHON_FLAKE8 | Fail ❌ |
6767
| PYTHON_ISORT | Fail ❌ |
6868
| PYTHON_MYPY | Fail ❌ |
69+
| PYTHON_PYINK | Fail ❌ |
6970
| PYTHON_RUFF | Fail ❌ |
7071
| R | Fail ❌ |
7172
| RAKU | Fail ❌ |

test/data/super-linter-summary/markdown/table/expected-summary-test-linters-expect-success-slim.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
| PYTHON_FLAKE8 | Pass ✅ |
6161
| PYTHON_ISORT | Pass ✅ |
6262
| PYTHON_MYPY | Pass ✅ |
63+
| PYTHON_PYINK | Pass ✅ |
6364
| PYTHON_RUFF | Pass ✅ |
6465
| R | Pass ✅ |
6566
| RAKU | Pass ✅ |

test/data/super-linter-summary/markdown/table/expected-summary-test-linters-expect-success-standard.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
| PYTHON_FLAKE8 | Pass ✅ |
6767
| PYTHON_ISORT | Pass ✅ |
6868
| PYTHON_MYPY | Pass ✅ |
69+
| PYTHON_PYINK | Pass ✅ |
6970
| PYTHON_RUFF | Pass ✅ |
7071
| R | Pass ✅ |
7172
| RAKU | Pass ✅ |

test/data/super-linter-summary/markdown/table/expected-summary-test-linters-fix-mode-slim.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
| PROTOBUF | Fail ❌ |
3131
| PYTHON_BLACK | Pass ✅ |
3232
| PYTHON_ISORT | Pass ✅ |
33+
| PYTHON_PYINK | Pass ✅ |
3334
| PYTHON_RUFF | Pass ✅ |
3435
| RUBY | Fail ❌ |
3536
| SCALAFMT | Pass ✅ |

test/data/super-linter-summary/markdown/table/expected-summary-test-linters-fix-mode-standard.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
| PROTOBUF | Fail ❌ |
3636
| PYTHON_BLACK | Pass ✅ |
3737
| PYTHON_ISORT | Pass ✅ |
38+
| PYTHON_PYINK | Pass ✅ |
3839
| PYTHON_RUFF | Pass ✅ |
3940
| RUBY | Fail ❌ |
4041
| RUST_2015 | Pass ✅ |

test/inspec/super-linter/controls/super_linter.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@
186186
{ linter_name: "protolint", version_option: "version"},
187187
{ linter_name: "psalm"},
188188
{ linter_name: "pwsh"},
189+
{ linter_name: "pyink"},
189190
{ linter_name: "pylint"},
190191
{ linter_name: "R", version_command: "R --slave -e \"r_ver <- R.Version()\\$version.string; \
191192
lintr_ver <- packageVersion('lintr'); \
@@ -405,6 +406,7 @@
405406
"flake8",
406407
"isort",
407408
"mypy",
409+
"pyink",
408410
"pylint",
409411
"ruff",
410412
"snakefmt",
@@ -511,6 +513,7 @@
511513
"/action/lib/.automation/.protolintrc.yml",
512514
"/action/lib/.automation/.python-black",
513515
"/action/lib/.automation/.python-lint",
516+
"/action/lib/.automation/.python-pyink",
514517
"/action/lib/.automation/.ruby-lint.yml",
515518
"/action/lib/.automation/.ruff.toml",
516519
"/action/lib/.automation/.scalafmt.conf",
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
a=1;b=2
2+
c=a+b
3+
BROKEN_VAR=BROKEN_VAR
4+
print(c)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
a = 1
2+
b = 2
3+
c = a + b
4+
print(c)

test/testUtils.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ LANGUAGES_WITH_FIX_MODE=(
5353
"PROTOBUF"
5454
"PYTHON_BLACK"
5555
"PYTHON_ISORT"
56+
"PYTHON_PYINK"
5657
"PYTHON_RUFF"
5758
"RUBY"
5859
"RUST_2015"

0 commit comments

Comments
 (0)