lightning/setup.cfg

209 lines
5.6 KiB
INI

# Copyright The PyTorch Lightning team.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
[tool:pytest]
norecursedirs =
.git
dist
build
python_files =
test_*.py
# doctest_plus = disabled
addopts =
--strict
--doctest-modules
--color=yes
markers =
slow
remote_data
filterwarnings
gpus_param_tests
junit_duration_report = call
[coverage:report]
exclude_lines =
pragma: no-cover
warnings
pass
rank_zero_warn
raise NotImplementedError
# TODO: figure out how to get codecov to pick up the test results on these backends
# The actual coverage for each is 90%+
# *metrics (94%+) are temporarily removed from testing while tests speed up
omit =
pytorch_lightning/accelerators/ddp_*.py
pytorch_lightning/accelerators/ddp2_*.py
pytorch_lightning/accelerators/dp_*.py
pytorch_lightning/accelerators/tpu_*.py
pytorch_lightning/cluster_environments/*.py
pytorch_lightning/utilities/xla_device_utils.py
pytorch_lightning/utilities/distributed.py
pytorch_lightning/tuner/auto_gpu_select.py
# TODO: temporary, until accelerator refactor is finished
pytorch_lightning/accelerators/accelerator.py
pytorch_lightning/plugins/training_type/*.py
pytorch_lightning/plugins/precision/*.py
pytorch_lightning/plugins/base_plugin.py
[flake8]
# TODO: this should be 88 or 100 according PEP8
max-line-length = 120
exclude =
.tox,
*.egg
build
temp
# TODO: temporary until accelerator refactor finished
pytorch_lightning/accelerators/accelerator.py
pytorch_lightning/plugins/training_type
pytorch_lightning/plugins/precision
pytorch_lightning/plugins/base_plugin.py
select = E,W,F
doctests = True
verbose = 2
# https://pep8.readthedocs.io/en/latest/intro.html#error-codes
format = pylint
ignore =
E731 # do not assign a lambda expression, use a def
W503 # line break before binary operator
W504 # line break after binary operator
# TODO: delete these next 2 because we no longer use black
E203 # whitespace before ':'. Opposite convention enforced by black
E231 # missing whitespace after ',', ';', or ':'; for black
# setup.cfg or tox.ini
[check-manifest]
ignore =
*.yml
.github
.github/*
.circleci
[metadata]
license_file = LICENSE
# long_description = file:README.md
# long_description_content_type = text/markdown
[pydocstyle]
convention = pep257
# D104, D107: Ignore missing docstrings in __init__ files and methods.
# D202: Ignore a blank line after docstring (collision with Python Black in decorators)
add-ignore = D104,D107,D202
max-line-length = 120
[yapf]
based_on_style = pep8
spaces_before_comment = 2
split_before_logical_operator = true
split_before_arithmetic_operator = true
COLUMN_LIMIT = 120
COALESCE_BRACKETS = true
DEDENT_CLOSING_BRACKETS = true
ALLOW_SPLIT_BEFORE_DICT_VALUE = false
BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF = true
NO_SPACES_AROUND_SELECTED_BINARY_OPERATORS = false
[mypy]
# Typing tests is low priority, but enabling type checking on the
# untyped test functions (using `--check-untyped-defs`) is still
# high-value because it helps test the typing.
files = pytorch_lightning, pl_examples, benchmarks, tests
disallow_untyped_defs = True
ignore_missing_imports = True
show_error_codes = True
warn_redundant_casts = True
warn_unused_configs = True
warn_unused_ignores = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.accelerators.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.callbacks.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.core.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.loggers.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.metrics.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.overrides.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.plugins.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.profiler.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.pt_overrides.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.plugins.legacy.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.root_module.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.trainer.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.distributed.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.tuner.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pytorch_lightning.utilities.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-pl_examples.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-benchmarks.*]
ignore_errors = True
# todo: add proper typing to this module...
[mypy-tests.*]
ignore_errors = True