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 - python3.8 -m venv venv
- venv/bin/python -m pip install -r requirements-dev.txt - venv/bin/python -m pip install -r requirements-dev.txt
- venv/bin/python -m pip install -e .[dev] - 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 - venv/bin/sphinx-build docs public
coverage: '/\d+\%\s*$/' coverage: '/\d+\%\s*$/'
artifacts: artifacts:

View File

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

View File

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