mirror of
https://github.com/Balshgit/public.git
synced 2025-09-11 18:00:42 +03:00
145 lines
3.7 KiB
INI
145 lines
3.7 KiB
INI
# All configuration for plugins and other utils is defined here.
|
|
# Read more about `setup.cfg`:
|
|
# https://docs.python.org/3/distutils/configfile.html
|
|
|
|
|
|
[flake8]
|
|
# flake8 configuration:
|
|
# https://flake8.pycqa.org/en/latest/user/configuration.html
|
|
format = wemake
|
|
show-source = True
|
|
statistics = False
|
|
doctests = True
|
|
enable-extensions = G
|
|
|
|
# darglint configuration:
|
|
# https://github.com/terrencepreilly/darglint
|
|
strictness = long
|
|
docstring-style = numpy
|
|
|
|
# Flake plugins:
|
|
max-line-length = 80
|
|
max-complexity = 6
|
|
|
|
# Excluding some directories:
|
|
exclude = .git,__pycache__,.venv,.eggs,*.egg
|
|
|
|
# Disable some pydocstyle checks:
|
|
ignore = D100, D104, D106, D401, X100, W504, RST303, RST304, DAR103, DAR203
|
|
|
|
# Docs: https://github.com/snoack/flake8-per-file-ignores
|
|
# You can completely or partially disable our custom checks,
|
|
# to do so you have to ignore `WPS` letters for all python files:
|
|
per-file-ignores =
|
|
# Allow `__init__.py` with logic for configuration:
|
|
server/settings/*.py: WPS226, WPS407, WPS412, WPS432
|
|
# Allow to have magic numbers inside migrations and wrong module names:
|
|
server/*/migrations/*.py: WPS102, WPS114, WPS432
|
|
# Enable `assert` keyword and magic numbers for tests:
|
|
tests/*.py: S101, WPS432
|
|
|
|
|
|
[isort]
|
|
# isort configuration:
|
|
# https://github.com/timothycrosley/isort/wiki/isort-Settings
|
|
include_trailing_comma = true
|
|
use_parentheses = true
|
|
# See https://github.com/timothycrosley/isort#multi-line-output-modes
|
|
multi_line_output = 3
|
|
line_length = 80
|
|
|
|
|
|
[tool:pytest]
|
|
# pytest configuration:
|
|
# https://docs.pytest.org/en/stable/customize.html
|
|
|
|
# pytest-django configuration:
|
|
# https://pytest-django.readthedocs.io/en/latest/
|
|
DJANGO_SETTINGS_MODULE = server.settings
|
|
|
|
# Timeout for tests, so they can not take longer
|
|
# than this amount of seconds.
|
|
# You should adjust this value to be as low as possible.
|
|
# Configuration:
|
|
# https://pypi.org/project/pytest-timeout/
|
|
timeout = 5
|
|
|
|
# Directories that are not visited by pytest collector:
|
|
norecursedirs = *.egg .eggs dist build docs .tox .git __pycache__
|
|
|
|
# You will need to measure your tests speed with `-n auto` and without it,
|
|
# so you can see whether it gives you any performance gain, or just gives
|
|
# you an overhead. See `docs/template/development-process.rst`.
|
|
addopts =
|
|
--strict-markers
|
|
--strict-config
|
|
--doctest-modules
|
|
--fail-on-template-vars
|
|
--dup-fixtures
|
|
# Output:
|
|
--tb=short
|
|
# Parallelism:
|
|
# -n auto
|
|
# --boxed
|
|
# Coverage:
|
|
--cov=server
|
|
--cov=tests
|
|
--cov-branch
|
|
--cov-report=term-missing:skip-covered
|
|
--cov-report=html
|
|
--cov-fail-under=100
|
|
|
|
|
|
[coverage:run]
|
|
# Coverage configuration:
|
|
# https://coverage.readthedocs.io/en/latest/config.html
|
|
plugins =
|
|
# Docs: https://github.com/nedbat/django_coverage_plugin
|
|
django_coverage_plugin
|
|
|
|
|
|
[mypy]
|
|
# Mypy configuration:
|
|
# https://mypy.readthedocs.io/en/latest/config_file.html
|
|
allow_redefinition = False
|
|
check_untyped_defs = True
|
|
disallow_untyped_decorators = True
|
|
disallow_any_explicit = True
|
|
disallow_any_generics = True
|
|
disallow_untyped_calls = True
|
|
ignore_errors = False
|
|
ignore_missing_imports = True
|
|
implicit_reexport = False
|
|
local_partial_types = True
|
|
strict_optional = True
|
|
strict_equality = True
|
|
no_implicit_optional = True
|
|
warn_unused_ignores = True
|
|
warn_redundant_casts = True
|
|
warn_unused_configs = True
|
|
warn_unreachable = True
|
|
warn_no_return = True
|
|
|
|
plugins =
|
|
mypy_django_plugin.main
|
|
|
|
[mypy.plugins.django-stubs]
|
|
django_settings_module = server.settings
|
|
|
|
[mypy-server.apps.*.migrations.*]
|
|
# Django migrations should not produce any errors:
|
|
ignore_errors = True
|
|
|
|
[mypy-server.apps.*.models]
|
|
# FIXME: remove this line, when `django-stubs` will stop
|
|
# using `Any` inside.
|
|
disallow_any_explicit = False
|
|
|
|
|
|
[doc8]
|
|
# doc8 configuration:
|
|
# https://github.com/pycqa/doc8
|
|
ignore-path = docs/_build
|
|
max-line-length = 80
|
|
sphinx = True
|