diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..f8e7e11 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,34 @@ +repos: + - repo: local + hooks: + # Run the linter. + - id: ruff + name: ruff + language: system + exclude: __init__.py + types_or: [ python, pyi ] + entry: uv run ruff check . + args: [ --fix ] + # Run the formatter. + - id: ruff-format + name: ruff-format + language: system + entry: uv run ruff format + types_or: [ python, pyi ] + + # Отсортировывает импорты в проекте + - id: isort + name: isort + language: system + exclude: __init__.py + entry: uv run isort + args: [ --profile, black, --filter-files ] + + - id: mypy + name: mypy + entry: uv run mypy + require_serial: true + language: system + types: [ python ] + + diff --git a/pyproject.toml b/pyproject.toml index e49b3fe..96e9f65 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,6 +5,16 @@ description = "Add your description here" readme = "README.md" requires-python = ">=3.13" dependencies = [ - "fastapi[standart]>=0.136.0", + "fastapi>=0.136.0", "uvicorn>=0.44.0", ] + +[dependency-groups] +dev = [ + "isort>=8.0.1", + "mypy>=1.20.1", + "pre-commit>=4.5.1", + "pytest>=9.0.3", + "pytest-asyncio>=1.3.0", + "ruff>=0.15.11", +]