Apply swh-py-template v0.3.3 with copier
Bump development tools: mypy, codespell, isort, ... Move all tools configuration in pyproject.toml. Remove no longer needed mypy overrides.
This commit is contained in:
parent
a3d66736a4
commit
edef3b850c
8 changed files with 53 additions and 99 deletions
|
@ -1,5 +1,5 @@
|
|||
# Changes here will be overwritten by Copier
|
||||
_commit: v0.2.3
|
||||
_commit: v0.3.3
|
||||
_src_path: https://gitlab.softwareheritage.org/swh/devel/swh-py-template.git
|
||||
description: Software Heritage lister
|
||||
distribution_name: swh-lister
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v4.6.0
|
||||
rev: v5.0.0
|
||||
hooks:
|
||||
- id: trailing-whitespace
|
||||
- id: check-json
|
||||
- id: check-yaml
|
||||
|
||||
- repo: https://github.com/python/black
|
||||
rev: 24.8.0
|
||||
rev: 25.1.0
|
||||
hooks:
|
||||
- id: black
|
||||
|
||||
- repo: https://github.com/PyCQA/isort
|
||||
rev: 5.13.2
|
||||
rev: 6.0.0
|
||||
hooks:
|
||||
- id: isort
|
||||
|
||||
|
@ -20,16 +20,16 @@ repos:
|
|||
rev: 7.1.1
|
||||
hooks:
|
||||
- id: flake8
|
||||
additional_dependencies: [flake8-bugbear==24.4.26]
|
||||
additional_dependencies: [flake8-bugbear==24.12.12, flake8-pyproject]
|
||||
|
||||
- repo: https://github.com/codespell-project/codespell
|
||||
rev: v2.3.0
|
||||
rev: v2.4.1
|
||||
hooks:
|
||||
- id: codespell
|
||||
name: Check source code spelling
|
||||
exclude: ^(swh/lister/.*/tests/data/.*)$
|
||||
args: [-L crate]
|
||||
stages: [commit]
|
||||
stages: [pre-commit]
|
||||
- id: codespell
|
||||
name: Check commit message spelling
|
||||
args: [-L crate]
|
||||
|
|
73
mypy.ini
73
mypy.ini
|
@ -1,73 +0,0 @@
|
|||
[mypy]
|
||||
namespace_packages = True
|
||||
warn_unused_ignores = True
|
||||
explicit_package_bases = True
|
||||
# ^ Needed for mypy to detect py.typed from swh packages installed
|
||||
# in editable mode
|
||||
|
||||
# 3rd party libraries without stubs (yet)
|
||||
|
||||
[mypy-bs4.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-celery.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-debian.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-iso8601.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-launchpadlib.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-lazr.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-lxml.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-mercurial.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-pandas.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-pkg_resources.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-pyreadr.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-pytest_postgresql.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-requests_mock.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-urllib3.util.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-dulwich.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-dateparser.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-testing.postgresql.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-psycopg2.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-repomd.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-subvertpy.*]
|
||||
ignore_missing_imports = True
|
||||
|
||||
[mypy-defusedxml.*]
|
||||
ignore_missing_imports = True
|
||||
# [mypy-add_your_lib_here.*]
|
||||
# ignore_missing_imports = True
|
|
@ -98,3 +98,40 @@ ensure_newline_before_comments = true
|
|||
line_length = 88
|
||||
force_sort_within_sections = true
|
||||
known_first_party = ['swh']
|
||||
|
||||
[tool.mypy]
|
||||
namespace_packages = true
|
||||
warn_unused_ignores = true
|
||||
explicit_package_bases = true
|
||||
# ^ Needed for mypy to detect py.typed from swh packages installed
|
||||
# in editable mode
|
||||
|
||||
plugins = []
|
||||
|
||||
# 3rd party libraries without stubs (yet)
|
||||
[[tool.mypy.overrides]]
|
||||
module = [
|
||||
"launchpadlib.*",
|
||||
"lazr.*",
|
||||
"mercurial.*",
|
||||
"pyreadr.*",
|
||||
"subvertpy.*",
|
||||
"repomd.*",
|
||||
"testing.postgresql.*",
|
||||
]
|
||||
ignore_missing_imports = true
|
||||
|
||||
[tool.flake8]
|
||||
select = ["C", "E", "F", "W", "B950"]
|
||||
ignore = [
|
||||
"E203", # whitespaces before ':' <https://github.com/psf/black/issues/315>
|
||||
"E231", # missing whitespace after ','
|
||||
"E501", # line too long, use B950 warning from flake8-bugbear instead
|
||||
"W503" # line break before binary operator <https://github.com/psf/black/issues/52>
|
||||
]
|
||||
max-line-length = 88
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
norecursedirs = "build docs .*"
|
||||
asyncio_mode = "strict"
|
||||
consider_namespace_packages = true
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
[pytest]
|
||||
addopts =
|
||||
# we need this to avoid conflicts between the autoloaded fixture,
|
||||
# and the manually loaded one.
|
||||
-p no:pytest_swh_scheduler
|
||||
norecursedirs = build docs .*
|
||||
asyncio_mode = strict
|
||||
consider_namespace_packages = true
|
|
@ -1,10 +1,14 @@
|
|||
celery-types
|
||||
pandas
|
||||
pandas-stubs
|
||||
pytest >= 8.1
|
||||
pytest-mock
|
||||
requests_mock
|
||||
swh-scheduler[testing] >= 2.7.0
|
||||
types-beautifulsoup4
|
||||
types-click
|
||||
types-dateparser
|
||||
types-pyyaml
|
||||
types-requests
|
||||
types-toml
|
||||
types-lxml
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
[flake8]
|
||||
# E203: whitespaces before ':' <https://github.com/psf/black/issues/315>
|
||||
# E231: missing whitespace after ','
|
||||
# E501: line too long, use B950 warning from flake8-bugbear instead
|
||||
# W503: line break before binary operator <https://github.com/psf/black/issues/52>
|
||||
select = C,E,F,W,B950
|
||||
ignore = E203,E231,E501,E704,W503
|
||||
max-line-length = 88
|
8
tox.ini
8
tox.ini
|
@ -22,7 +22,7 @@ commands =
|
|||
[testenv:black]
|
||||
skip_install = true
|
||||
deps =
|
||||
black==24.8.0
|
||||
black==25.1.0
|
||||
commands =
|
||||
{envpython} -m black --check swh
|
||||
|
||||
|
@ -30,8 +30,10 @@ commands =
|
|||
skip_install = true
|
||||
deps =
|
||||
flake8==7.1.1
|
||||
flake8-bugbear==24.4.26
|
||||
flake8-bugbear==24.12.12
|
||||
flake8-pyproject==1.2.3
|
||||
pycodestyle==2.12.1
|
||||
|
||||
commands =
|
||||
{envpython} -m flake8
|
||||
|
||||
|
@ -39,7 +41,7 @@ commands =
|
|||
extras =
|
||||
testing
|
||||
deps =
|
||||
mypy==1.11.1
|
||||
mypy==1.15.0
|
||||
commands =
|
||||
mypy swh
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue