This is an automated email from the ASF dual-hosted git repository.
jiayu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sedona.git
The following commit(s) were added to refs/heads/master by this push:
new 47a9ca410 [SEDONA-544] Add `ruff-pre-commit` for `Python` linting
(#1368)
47a9ca410 is described below
commit 47a9ca410a9da0b2be66b439d4de54e338f7a23b
Author: John Bampton <[email protected]>
AuthorDate: Fri Apr 26 12:20:32 2024 +1000
[SEDONA-544] Add `ruff-pre-commit` for `Python` linting (#1368)
https://github.com/astral-sh/ruff-pre-commit
Currently just running Ruff's linter.
Used the default Ruff config file and just added code entries to the
`ignore` array.
---
.github/linters/ruff.toml | 77 +++++++++++++++++++++++++++++++++++++++++++++++
.pre-commit-config.yaml | 5 +++
2 files changed, 82 insertions(+)
diff --git a/.github/linters/ruff.toml b/.github/linters/ruff.toml
new file mode 100644
index 000000000..9dc060467
--- /dev/null
+++ b/.github/linters/ruff.toml
@@ -0,0 +1,77 @@
+# Exclude a variety of commonly ignored directories.
+exclude = [
+ ".bzr",
+ ".direnv",
+ ".eggs",
+ ".git",
+ ".git-rewrite",
+ ".hg",
+ ".ipynb_checkpoints",
+ ".mypy_cache",
+ ".nox",
+ ".pants.d",
+ ".pyenv",
+ ".pytest_cache",
+ ".pytype",
+ ".ruff_cache",
+ ".svn",
+ ".tox",
+ ".venv",
+ ".vscode",
+ "__pypackages__",
+ "_build",
+ "buck-out",
+ "build",
+ "dist",
+ "node_modules",
+ "site-packages",
+ "venv",
+]
+
+# Same as Black.
+line-length = 88
+indent-width = 4
+
+# Assume Python 3.8
+target-version = "py38"
+
+[lint]
+# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by
default.
+# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
+# McCabe complexity (`C901`) by default.
+select = ["E4", "E7", "E9", "F"]
+ignore = ["E712", "E721", "E722", "E731", "E741", "F401", "F402", "F403",
"F405", "F811", "F821", "F822", "F841", "F901"]
+
+# Allow fix for all enabled rules (when `--fix`) is provided.
+fixable = ["ALL"]
+unfixable = []
+
+# Allow unused variables when underscore-prefixed.
+dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
+
+[format]
+# Like Black, use double quotes for strings.
+quote-style = "double"
+
+# Like Black, indent with spaces, rather than tabs.
+indent-style = "space"
+
+# Like Black, respect magic trailing commas.
+skip-magic-trailing-comma = false
+
+# Like Black, automatically detect the appropriate line ending.
+line-ending = "auto"
+
+# Enable auto-formatting of code examples in docstrings. Markdown,
+# reStructuredText code/literal blocks and doctests are all supported.
+#
+# This is currently disabled by default, but it is planned for this
+# to be opt-out in the future.
+docstring-code-format = false
+
+# Set the line length limit used when formatting code snippets in
+# docstrings.
+#
+# This only has an effect when the `docstring-code-format` setting is
+# enabled.
+docstring-code-line-length = "dynamic"
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index a05147331..9ab4aecb9 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -18,6 +18,11 @@ repos:
description: Check spelling with codespell
args: [--ignore-words=.github/linters/codespell.txt]
exclude: ^docs/image|^spark/common/src/test/resources|^docs/usecases
+ - repo: https://github.com/astral-sh/ruff-pre-commit
+ rev: v0.4.2
+ hooks:
+ - id: ruff
+ args: [--config=.github/linters/ruff.toml]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks: