Update tooling

This commit is contained in:
Marko Durkovic 2023-03-01 20:12:57 +01:00
parent aa18bec9d1
commit df9bf80170
3 changed files with 29 additions and 34 deletions

View File

@ -10,7 +10,11 @@ test:
- python3.8 -m venv venv
- venv/bin/python -m pip install -r requirements-dev.txt
- venv/bin/python -m pip install -e .[dev]
- venv/bin/python -m pytest
- venv/bin/pytest --cov-report=term --cov-report=xml --junit-xml=report.xml
- venv/bin/flake8 src tests
- venv/bin/mypy --no-error-summary src tests
- venv/bin/pylint --jobs 0 --score n src tests
- venv/bin/yapf -dpr src tests
- venv/bin/sphinx-build docs public
coverage: '/\d+\%\s*$/'
artifacts:

View File

@ -1,25 +1,25 @@
[build-system]
requires = ["setuptools>=56.2.0", "wheel"]
requires = ["setuptools>=65.4.0", "wheel"]
build-backend = "setuptools.build_meta"
[tool.coverage.report]
exclude_lines = [
[tool.coverage]
report.exclude_lines = [
"pragma: no cover",
"if TYPE_CHECKING:",
"if __name__ == '__main__':",
]
report.show_missing = true
report.skip_covered = true
run.branch = true
run.source = ["src"]
[tool.coverage.run]
source = [
"src",
]
[tool.flake8]
avoid_escape = false
docstring_convention = "all"
docstring_style = "google"
extend_exclude = ["venv*", ".venv*"]
extend_exclude = ["venv"]
ignore = [
# do not require annotation of `self`
"ANN101",
@ -40,25 +40,31 @@ max_line_length = 100
strictness = "long"
suppress_none_returning = true
[tool.isort]
include_trailing_comma = true
line_length = 100
multi_line_output = 3
[tool.mypy]
explicit_package_bases = true
mypy_path = "$MYPY_CONFIG_FILE_DIR/src"
fast_module_lookup = true
mypy_path = "src"
namespace_packages = true
strict = true
[[tool.mypy.overrides]]
module = "lz4.frame"
ignore_missing_imports = true
[tool.pydocstyle]
convention = "google"
add_select = ["D204", "D400", "D401", "D404", "D413"]
[tool.pylint.'MESSAGES CONTROL']
enable = "all"
disable = [
@ -72,7 +78,7 @@ disable = [
"too-many-branches",
# fixme
"fixme",
# pep8-naming (pylint FAQ", keep: invalid-name)
# pep8-naming (pylint FAQ, keep: invalid-name)
"bad-classmethod-argument",
"bad-mcs-classmethod-argument",
"no-self-argument",
@ -95,22 +101,10 @@ disable = [
"unused-variable",
]
[tool.pytest.ini_options]
addopts = [
"-v",
"--flake8",
"--mypy",
"--pylint",
"--yapf",
"--cov",
"--cov-branch",
"--cov-report=html",
"--cov-report=term",
"--cov-report=xml",
"--no-cov-on-fail",
"--junitxml=report.xml",
]
junit_family = "xunit2"
addopts = ["--cov=src", "--verbose"]
[tool.yapf]
based_on_style = "google"

View File

@ -44,7 +44,6 @@ include_package_data = true
package_dir =
= src
packages = find_namespace:
zip_safe = false
python_requires =
>=3.8.2
install_requires =
@ -79,22 +78,20 @@ dev =
flake8-use-fstring
mypy
pep8-naming
pylint
pytest
pytest-cov
pytest-flake8
pytest-mypy
pytest-pylint
pytest-yapf3
sphinx
sphinx-autodoc-typehints
sphinx-rtd-theme
toml # required by yapf
yapf
[options.packages.find]
where = src
[options.package_data]
* = py.typed
[options.packages.find]
where = src
[sdist]
formats = gztar, zip