Unverified Commit c2f3807c authored by Nikita Titov's avatar Nikita Titov Committed by GitHub
Browse files

[ci] use Ruff linter instead of isort (#6755)

* Update append-comment.sh

* Update static_analysis.yml

* Update static_analysis.yml

* Update basic.py

* Update basic.py

* Update .pre-commit-config.yaml

* Update basic.py

* Update basic.py

* Update basic.py

* Update basic.py

* Update basic.py

* Update pyproject.toml

* Update pyproject.toml

* Update pyproject.toml

* Update pyproject.toml

* Update interactive_plot_example.ipynb

* Update pyproject.toml

* Update append-comment.sh

* Update basic.py

* Update basic.py

* Update pyproject.toml

* Update .pre-commit-config.yaml

* Update basic.py

* Update basic.py

* Update test_basic.R

* Update rank_objective.hpp

* Update histogram_16_64_256.cu

* Update static_analysis.yml

* ensure alphabetical order of rules
parent 1090a93b
...@@ -17,15 +17,9 @@ repos: ...@@ -17,15 +17,9 @@ repos:
hooks: hooks:
- id: end-of-file-fixer - id: end-of-file-fixer
- id: trailing-whitespace - id: trailing-whitespace
- repo: https://github.com/pycqa/isort
rev: 5.13.2
hooks:
- id: isort
name: isort (python)
args: ["--settings-path", "python-package/pyproject.toml"]
- repo: https://github.com/astral-sh/ruff-pre-commit - repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version. # Ruff version.
rev: v0.7.0 rev: v0.8.3
hooks: hooks:
# Run the linter. # Run the linter.
- id: ruff - id: ruff
...@@ -40,7 +34,7 @@ repos: ...@@ -40,7 +34,7 @@ repos:
hooks: hooks:
- id: shellcheck - id: shellcheck
- repo: https://github.com/crate-ci/typos - repo: https://github.com/crate-ci/typos
rev: v1.23.2 rev: v1.28.3
hooks: hooks:
- id: typos - id: typos
args: ["--force-exclude"] args: ["--force-exclude"]
......
...@@ -2345,7 +2345,7 @@ test_that("early stopping works with lgb.cv()", { ...@@ -2345,7 +2345,7 @@ test_that("early stopping works with lgb.cv()", {
# never changes, its first iteration was the best oone # never changes, its first iteration was the best oone
expect_equal(bst$best_iter, 1L) expect_equal(bst$best_iter, 1L)
# best_score should be taken from the first metri # best_score should be taken from the first metric
expect_equal(bst$best_score, 0.2) expect_equal(bst$best_score, 0.2)
# early stopping should have happened, since constant_metric was the first # early stopping should have happened, since constant_metric was the first
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
"try:\n", "try:\n",
" # To enable interactive mode you should install ipywidgets\n", " # To enable interactive mode you should install ipywidgets\n",
" # https://github.com/jupyter-widgets/ipywidgets\n", " # https://github.com/jupyter-widgets/ipywidgets\n",
" from ipywidgets import interact, SelectMultiple\n", " from ipywidgets import SelectMultiple, interact\n",
"\n", "\n",
" INTERACTIVE = True\n", " INTERACTIVE = True\n",
"except ImportError:\n", "except ImportError:\n",
......
...@@ -2504,13 +2504,13 @@ class Dataset: ...@@ -2504,13 +2504,13 @@ class Dataset:
compare_result : bool compare_result : bool
Returns whether two dictionaries with params are equal. Returns whether two dictionaries with params are equal.
""" """
for k in other_params: for k, v in other_params.items():
if k not in ignore_keys: if k not in ignore_keys:
if k not in params or params[k] != other_params[k]: if k not in params or params[k] != v:
return False return False
for k in params: for k, v in params.items():
if k not in ignore_keys: if k not in ignore_keys:
if k not in other_params or params[k] != other_params[k]: if k not in other_params or v != other_params[k]:
return False return False
return True return True
......
...@@ -84,17 +84,6 @@ minimum-version = "build-system.requires" ...@@ -84,17 +84,6 @@ minimum-version = "build-system.requires"
# end:build-system # end:build-system
[tool.isort]
include_trailing_comma = true
line_length = 120
# "vertical hanging indent", to match what ruff-format does
# ref: https://pycqa.github.io/isort/docs/configuration/multi_line_output_modes.html#3-vertical-hanging-indent
multi_line_output = 3
skip_glob = [
"*/external_libs/*",
"*/lightgbm-python/*",
]
[tool.mypy] [tool.mypy]
disallow_untyped_defs = true disallow_untyped_defs = true
exclude = 'build/*|compile/*|docs/*|examples/*|external_libs/*|lightgbm-python/*|tests/*' exclude = 'build/*|compile/*|docs/*|examples/*|external_libs/*|lightgbm-python/*|tests/*'
...@@ -140,7 +129,7 @@ ignore = [ ...@@ -140,7 +129,7 @@ ignore = [
"PLR1714", "PLR1714",
# (pylint) Magic value used in comparison # (pylint) Magic value used in comparison
"PLR2004", "PLR2004",
# (pylint) for loop veriable overwritten by assignment target # (pylint) for loop variable overwritten by assignment target
"PLW2901", "PLW2901",
# (pylint) use 'elif' instead of 'else' then 'if', to reduce indentation # (pylint) use 'elif' instead of 'else' then 'if', to reduce indentation
"PLR5501" "PLR5501"
...@@ -152,10 +141,12 @@ select = [ ...@@ -152,10 +141,12 @@ select = [
"C4", "C4",
# pydocstyle # pydocstyle
"D", "D",
# pycodestyle # pycodestyle (errors)
"E", "E",
# pyflakes # pyflakes
"F", "F",
# isort
"I",
# NumPy-specific rules # NumPy-specific rules
"NPY", "NPY",
# pylint # pylint
...@@ -166,11 +157,13 @@ select = [ ...@@ -166,11 +157,13 @@ select = [
"SIM401", "SIM401",
# flake8-print # flake8-print
"T", "T",
# pycodestyle (warnings)
"W",
] ]
[tool.ruff.lint.per-file-ignores] [tool.ruff.lint.per-file-ignores]
"docs/conf.py" = [ "docs/conf.py" = [
# (flake8-bugbear) raise exceptions with "raise ... from errr" # (flake8-bugbear) raise exceptions with "raise ... from err"
"B904", "B904",
# (flake8-print) flake8-print # (flake8-print) flake8-print
"T" "T"
...@@ -196,3 +189,6 @@ select = [ ...@@ -196,3 +189,6 @@ select = [
[tool.ruff.lint.pydocstyle] [tool.ruff.lint.pydocstyle]
convention = "numpy" convention = "numpy"
[tool.ruff.lint.isort]
known-first-party = ["lightgbm"]
...@@ -204,7 +204,7 @@ class LambdarankNDCG : public RankingObjective { ...@@ -204,7 +204,7 @@ class LambdarankNDCG : public RankingObjective {
} }
const double worst_score = score[sorted_idx[worst_idx]]; const double worst_score = score[sorted_idx[worst_idx]];
double sum_lambdas = 0.0; double sum_lambdas = 0.0;
// start accmulate lambdas by pairs that contain at least one document above truncation level // start accumulate lambdas by pairs that contain at least one document above truncation level
for (data_size_t i = 0; i < cnt - 1 && i < truncation_level_; ++i) { for (data_size_t i = 0; i < cnt - 1 && i < truncation_level_; ++i) {
if (score[sorted_idx[i]] == kMinScore) { continue; } if (score[sorted_idx[i]] == kMinScore) { continue; }
for (data_size_t j = i + 1; j < cnt; ++j) { for (data_size_t j = i + 1; j < cnt; ++j) {
......
...@@ -150,7 +150,7 @@ __global__ void KERNEL_NAME(const uchar* feature_data_base, ...@@ -150,7 +150,7 @@ __global__ void KERNEL_NAME(const uchar* feature_data_base,
// size of threads that process this feature4 // size of threads that process this feature4
const unsigned int subglobal_size = lsize * (1 << power_feature_workgroups); const unsigned int subglobal_size = lsize * (1 << power_feature_workgroups);
// equavalent thread ID in this subgroup for this feature4 // equivalent thread ID in this subgroup for this feature4
const unsigned int subglobal_tid = gtid - feature_id * subglobal_size; const unsigned int subglobal_tid = gtid - feature_id * subglobal_size;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment