➕ Replace black, isort, flake8, autoflake with ruff and upgrade mypy (#610)
This commit is contained in:

committed by
GitHub

parent
73b2884057
commit
2802a4df9e
25
.pre-commit-config.yaml
Normal file
25
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# See https://pre-commit.com for more information
|
||||
# See https://pre-commit.com/hooks.html for more hooks
|
||||
default_language_version:
|
||||
python: python3.10
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v4.4.0
|
||||
hooks:
|
||||
- id: check-added-large-files
|
||||
- id: check-toml
|
||||
- id: check-yaml
|
||||
args:
|
||||
- --unsafe
|
||||
- id: end-of-file-fixer
|
||||
- id: trailing-whitespace
|
||||
- repo: https://github.com/charliermarsh/ruff-pre-commit
|
||||
rev: v0.2.2
|
||||
hooks:
|
||||
- id: ruff
|
||||
args:
|
||||
- --fix
|
||||
- id: ruff-format
|
||||
ci:
|
||||
autofix_commit_msg: 🎨 [pre-commit.ci] Auto format from pre-commit.com hooks
|
||||
autoupdate_commit_msg: ⬆ [pre-commit.ci] pre-commit autoupdate
|
@@ -1,3 +0,0 @@
|
||||
[flake8]
|
||||
max-line-length = 88
|
||||
exclude = .git,__pycache__,__init__.py,.mypy_cache,.pytest_cache
|
@@ -1,4 +0,0 @@
|
||||
[mypy]
|
||||
plugins = pydantic.mypy, sqlmypy
|
||||
ignore_missing_imports = True
|
||||
disallow_untyped_defs = True
|
@@ -27,13 +27,11 @@ sqlmodel = "^0.0.16"
|
||||
bcrypt = "4.0.1"
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
mypy = "^1.7.0"
|
||||
black = "^23.11.0"
|
||||
isort = "^5.12.0"
|
||||
autoflake = "^2.2.1"
|
||||
flake8 = "^6.1.0"
|
||||
pytest = "^7.4.3"
|
||||
pytest-cov = "^4.1.0"
|
||||
mypy = "^1.8.0"
|
||||
ruff = "^0.2.2"
|
||||
pre-commit = "^3.6.2"
|
||||
|
||||
[tool.isort]
|
||||
multi_line_output = 3
|
||||
@@ -43,3 +41,30 @@ line_length = 88
|
||||
[build-system]
|
||||
requires = ["poetry>=0.12"]
|
||||
build-backend = "poetry.masonry.api"
|
||||
|
||||
[tool.mypy]
|
||||
strict = true
|
||||
|
||||
[tool.ruff]
|
||||
target-version = "py310"
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = [
|
||||
"E", # pycodestyle errors
|
||||
"W", # pycodestyle warnings
|
||||
"F", # pyflakes
|
||||
"I", # isort
|
||||
"B", # flake8-bugbear
|
||||
"C4", # flake8-comprehensions
|
||||
"UP", # pyupgrade
|
||||
]
|
||||
ignore = [
|
||||
"E501", # line too long, handled by black
|
||||
"B008", # do not perform function calls in argument defaults
|
||||
"W191", # indentation contains tabs
|
||||
"B904", # Allow raising exceptions without from e, for HTTPException
|
||||
]
|
||||
|
||||
[tool.ruff.lint.pyupgrade]
|
||||
# Preserve types, even if a file imports `from __future__ import annotations`.
|
||||
keep-runtime-typing = true
|
||||
|
Reference in New Issue
Block a user