diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index fd6703a..ebf5e50 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,24 +18,24 @@ repos: - id: trailing-whitespace - repo: https://github.com/tox-dev/pyproject-fmt - rev: "1.8.0" + rev: "2.1.3" hooks: - id: pyproject-fmt - repo: https://github.com/astral-sh/ruff-pre-commit - rev: "v0.4.3" + rev: "v0.4.7" hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] - id: ruff-format - repo: https://github.com/pre-commit/pre-commit - rev: v3.7.0 + rev: v3.7.1 hooks: - id: validate_manifest - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.28.2 + rev: 0.28.4 hooks: - id: check-dependabot - id: check-github-workflows diff --git a/pyproject.toml b/pyproject.toml index 9ec4aea..9bbc161 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,8 +15,12 @@ keywords = [ "singer.io", ] license.file = "LICENSE" -maintainers = [{ name = "Edgar Ramírez-Mondragón", email = "edgarrm358@gmail.com" }] -authors = [{ name = "Edgar Ramírez-Mondragón", email = "edgarrm358@gmail.com" }] +maintainers = [ + { name = "Edgar Ramírez-Mondragón", email = "edgarrm358@gmail.com" }, +] +authors = [ + { name = "Edgar Ramírez-Mondragón", email = "edgarrm358@gmail.com" }, +] requires-python = ">=3.8" classifiers = [ "Programming Language :: Python :: 3 :: Only", @@ -49,7 +53,7 @@ optional-dependencies.typing = [ urls.Documentation = "https://github.com/edgarrmondragon/tap-readthedocs#readme" urls.Homepage = "https://github.com/edgarrmondragon/tap-readthedocs" urls.Repository = "https://github.com/edgarrmondragon/tap-readthedocs" -scripts."tap-readthedocs" = 'tap_readthedocs.tap:TapReadTheDocs.cli' +scripts."tap-readthedocs" = "tap_readthedocs.tap:TapReadTheDocs.cli" [tool.hatch.version] source = "vcs" @@ -59,7 +63,9 @@ console = "tap-readthedocs {args}" jsonl = "tap-readthedocs {args} > tap-readthedocs.jsonl" [tool.hatch.envs.test] -features = ["testing"] +features = [ + "testing", +] [tool.hatch.envs.test.scripts] integration = "pytest {args:tests}" dependencies = "deptry ." @@ -67,46 +73,54 @@ dependencies = "deptry ." [tool.hatch.envs.all] template = "test" [[tool.hatch.envs.all.matrix]] -python = ["3.8", "3.9", "3.10", "3.11", "3.12"] +python = [ + "3.8", + "3.9", + "3.10", + "3.11", + "3.12", +] [tool.hatch.envs.typing] -features = ["testing", "typing"] +features = [ + "testing", + "typing", +] [tool.hatch.envs.typing.scripts] check = "mypy --strict {args:tap_readthedocs tests}" [tool.ruff] line-length = 88 -[tool.ruff.lint] -ignore = [ - "ANN101", # missing-type-self - "DJ", # flake8-django - "FIX002", # line-contains-todo - "COM812", # missing-trailing-comma - "ISC001", # single-line-implicit-string-concatenation -] -select = ["ALL"] -unfixable = [ - "ERA001", # commented-out-code +lint.select = [ + "ALL", ] - -[tool.ruff.lint.per-file-ignores] -"noxfile.py" = ["ANN"] -"tests/*" = [ - "ANN201", # missing-return-type-public-function - "S101", # assert - "SLF001", # private-member-access +lint.ignore = [ + "ANN101", # missing-type-self + "COM812", # missing-trailing-comma + "DJ", # flake8-django + "FIX002", # line-contains-todo + "ISC001", # single-line-implicit-string-concatenation ] - -[tool.ruff.lint.flake8-annotations] -allow-star-arg-any = true - -[tool.ruff.lint.isort] -known-first-party = ["tap_readthedocs"] -required-imports = ["from __future__ import annotations"] - -[tool.ruff.lint.pydocstyle] -convention = "google" +lint.per-file-ignores."noxfile.py" = [ + "ANN", +] +lint.per-file-ignores."tests/*" = [ + "ANN201", # missing-return-type-public-function + "S101", # assert + "SLF001", # private-member-access +] +lint.unfixable = [ + "ERA001", # commented-out-code +] +lint.flake8-annotations.allow-star-arg-any = true +lint.isort.known-first-party = [ + "tap_readthedocs", +] +lint.isort.required-imports = [ + "from __future__ import annotations", +] +lint.pydocstyle.convention = "google" [tool.deptry.package_module_name_map] mypy = "mypy" @@ -138,5 +152,8 @@ python_version = "3.12" warn_unused_configs = true [[tool.mypy.overrides]] -module = ["backoff.*", "toolz.*"] +module = [ + "backoff.*", + "toolz.*", +] ignore_missing_imports = true