afancontrol/setup.cfg
2021-10-26 12:58:36 +02:00

113 lines
2.5 KiB
INI

[coverage:run]
branch = True
source =
src
tests
[coverage:report]
show_missing = True
# The total coverage is higher, but when running tests without extras,
# not all code is being tested, thus the coverage is lower.
fail_under = 60
exclude_lines =
@abc.abstractmethod
@abc.abstractproperty
pragma: no cover
[flake8]
; E203 -- ignore whitespace in slices. See https://github.com/ambv/black#slices
; W503 line break before binary operator
; C901 '***' is too complex (10)
ignore = E203,W503
max-complexity = 13
max-line-length = 90
per-file-ignores =
src/afancontrol/config.py:C901
[isort]
; https://github.com/timothycrosley/isort#multi-line-output-modes
multi_line_output = 3
; https://github.com/ambv/black#how-black-wraps-lines
include_trailing_comma = True
force_grid_wrap = 0
combine_as_imports = True
line_length = 88
[metadata]
author = Kostya Esmukov
author_email = kostya@esmukov.ru
classifier =
Development Status :: 5 - Production/Stable
Intended Audience :: System Administrators
License :: OSI Approved :: MIT License
Natural Language :: English
Operating System :: POSIX :: Linux
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Topic :: System :: Hardware
Topic :: System :: Monitoring
Topic :: System :: Systems Administration
description = Advanced fancontrol daemon
long_description = file: README.rst
name = afancontrol
url = https://github.com/KostyaEsmukov/afancontrol
[mypy]
check_untyped_defs = True
[mypy-prometheus_client.*]
ignore_missing_imports = True
[mypy-pytest.*]
ignore_missing_imports = True
[mypy-serial.*]
ignore_missing_imports = True
[options]
include_package_data = True
install_requires =
click>=6
package_dir =
= src
packages = find:
python_requires = >=3.6
[options.entry_points]
console_scripts =
afancontrol = afancontrol.__main__:main
[options.extras_require]
arduino =
pyserial>=3.0
metrics =
prometheus-client>=0.1.0
dev =
black==20.8b1
coverage==5.3
flake8==3.8.4
isort==5.5.4
mypy==0.782
pytest==6.1.0
requests
sphinx==3.2.1
wheel
[options.packages.find]
where = src
[tool:pytest]
log_level = INFO
; Show warnings. Similar to `python -Wd`.
filterwarnings = d
; Show skip reasons
; Print shorter tracebacks
addopts = -ra --tb=short