From 9597e4725792a63ed6b3ca5af6da7b9c39daf614 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Sat, 4 Nov 2023 21:44:57 -0500 Subject: [PATCH] Clean up lint handling (#94) --- .github/workflows/test.yml | 8 +++++--- .pre-commit-config.yaml | 10 ++++++++++ pyproject.toml | 36 +++++++++++------------------------- 3 files changed, 26 insertions(+), 28 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9cfe6ab..3668b98 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ jobs: - name: Run Linters run: | hatch run typing:test - hatch run lint:style + hatch run lint:build pipx run interrogate . pipx run doc8 --max-line-length=200 @@ -32,14 +32,16 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ["3.8", "3.11"] + python-version: ["3.8", "3.12"] include: - os: windows-latest python-version: "3.9" - os: ubuntu-latest - python-version: "pypy-3.8" + python-version: "pypy-3.9" - os: macos-latest python-version: "3.10" + - os: ubuntu-latest + python-version: "3.11" steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 54233bb..989545f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -55,6 +55,16 @@ repos: - id: rst-directive-colons - id: rst-inline-touching-normal + - repo: https://github.com/pre-commit/mirrors-mypy + rev: "v1.6.1" + hooks: + - id: mypy + files: "^jupyter_server_terminals" + stages: [manual] + args: ["--install-types", "--non-interactive"] + additional_dependencies: + ["traitlets>=5.13", "jupyter_server>=2.9", "terminado>=0.17.1"] + - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.1.3 hooks: diff --git a/pyproject.toml b/pyproject.toml index b92de2f..c209b0f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,37 +79,24 @@ dependencies = ["coverage[toml]", "pytest-cov"] test = "python -m pytest -vv --cov jupyter_server_terminals --cov-branch --cov-report term-missing:skip-covered {args}" nowarn = "test -W default {args}" -[tool.hatch.envs.typing] -features = ["test"] -dependencies = ["mypy>=1.6.0", "traitlets>=5.11.1", "jupyter_server>=2.8.0"] -[tool.hatch.envs.typing.scripts] -test = "mypy --install-types --non-interactive {args}" - [tool.hatch.envs.lint] -dependencies = [ - "mdformat>0.7", - "mdformat-gfm>=0.3.5", - "ruff==0.1.3" -] detached = true +dependencies = ["pre-commit"] [tool.hatch.envs.lint.scripts] -style = [ - "ruff {args:.}", - "ruff format {args:.}", - "mdformat --check {args:docs *.md}" -] -fmt = [ - "ruff --fix {args:.}", - "ruff format {args:.}", - "mdformat {args:docs *.md}" -] +build = "pre-commit run --all-files ruff" + +[tool.hatch.envs.typing] +dependencies = [ "pre-commit"] +detached = true +[tool.hatch.envs.typing.scripts] +test = "pre-commit run --all-files --hook-stage manual mypy" [tool.pytest.ini_options] minversion = "6.0" xfail_strict = true log_cli_level = "info" addopts = [ - "-raXs", "--durations=10", "--color=yes", "--doctest-modules", + "-ra", "--durations=10", "--color=yes", "--doctest-modules", "--showlocals", "--strict-markers", "--strict-config", ] testpaths = [ @@ -124,8 +111,7 @@ filterwarnings = [ "ignore:unclosed