# 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