From f0ebe1c0b4942858bff7e76ff27662459b0671da Mon Sep 17 00:00:00 2001 From: Jack Cherng Date: Fri, 17 Nov 2023 03:01:09 +0800 Subject: [PATCH] chore: replace autoflake/flake8/isort with ruff Signed-off-by: Jack Cherng --- .github/workflows/python.yml | 2 +- LICENSE | 2 +- Makefile | 21 +++++++------ pyproject.toml | 58 +++++++++++++++++------------------- requirements.txt | 4 +-- tox.ini | 16 ---------- 6 files changed, 41 insertions(+), 62 deletions(-) delete mode 100644 tox.ini diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index b389378..da18f78 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -46,4 +46,4 @@ jobs: - name: Do linting run: | - make check + make ci-check diff --git a/LICENSE b/LICENSE index d1fa486..cc2ef3a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2022 Jack Cherng +Copyright (c) 2022-2023 Jack Cherng Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Makefile b/Makefile index 89e156a..2449cbd 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,18 @@ .PHONY: all -all: fix +all: .PHONY: install install: - pip install -U -r requirements.txt + python -m pip install -U pip -r requirements.txt -.PHONY: check -check: +.PHONY: ci-check +ci-check: mypy -p plugin - flake8 . - black --check --diff --preview . - isort --check --diff . + ruff check --diff --preview . + black --diff --preview --check . -.PHONY: fix -fix: - autoflake --in-place . +.PHONY: ci-fix +ci-fix: + ruff check --preview --fix . + # ruff format --preview . black --preview . - isort . diff --git a/pyproject.toml b/pyproject.toml index e9cf138..b9464cd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,28 +9,6 @@ module = ["plugin.libs.*"] ignore_errors = true ignore_missing_imports = true -[tool.isort] -line_length = 120 -profile = 'black' -py_version = 38 -skip_glob = [ - ".venv/**", - "br-*/**", - "branch-*/**", - "libs/**", - "plugin/libs/**", - "stubs/**", - "typings/**", - "vendor/**", - "venv/**", -] - -[tool.autoflake] -quiet = true -recursive = true -remove-all-unused-imports = true -exclude = '\.git,\.?venv,\.mypy_cache,br-.*,branch-.*,libs,stubs,tests/files,typings' - [tool.black] preview = true line-length = 120 @@ -52,18 +30,38 @@ exclude = ''' [tool.pyright] include = ['./'] exclude = [ - '**/__pycache__/', - '**/node_modules/', - # git-related - '**/.git/', - '**/br-*/', - '**/branch-*/', + '**/__pycache__/', + '**/node_modules/', + # git-related + '**/.git/', + '**/br-*/', + '**/branch-*/', ] ignore = ['**/.venv', '**/libs'] stubPath = 'typings' pythonVersion = '3.8' [tool.ruff] -select = ["E", "F", "W"] +preview = true +select = ["E", "F", "W", "I"] +ignore = ["E203"] line-length = 120 -target-version = 'py38' +target-version = 'py312' +exclude = [ + ".git", + ".mypy_cache", + ".venv", + ".venv-*", + "branch-*", + "libs", + "plugin/libs", + "stubs", + "tests/files", + "typings", + "vendor", + "venv", + "venv-*", +] + +[tool.ruff.per-file-ignores] +"boot.py" = ["E402"] diff --git a/requirements.txt b/requirements.txt index 56e8f8b..350988b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,6 @@ # This is an implicit value, here for clarity --index https://pypi.python.org/simple/ -autoflake black -flake8 -isort mypy +ruff diff --git a/tox.ini b/tox.ini deleted file mode 100644 index a172055..0000000 --- a/tox.ini +++ /dev/null @@ -1,16 +0,0 @@ -[flake8] -max-line-length = 120 -extend-ignore = E203 -exclude = - .git, - .mypy_cache, - .venv, - branch-*, - libs, - plugin/libs, - stubs, - tests/files, - typings, - venv, -per-file-ignores = - boot.py: E402