[isort] profile = black skip = ./build, .nox, .tox, .scratch, _vendor, data known_third_party = pip._vendor [flake8] max-line-length = 88 exclude = ./build, .nox, .tox, .scratch, _vendor, data enable-extensions = G extend-ignore = G200, G202, # black adds spaces around ':' E203, # using a cache B019, # reassigning variables in a loop B020, per-file-ignores = # G: The plugin logging-format treats every .log and .error as logging. noxfile.py: G # B011: Do not call assert False since python -O removes these calls tests/*: B011 [mypy] mypy_path = $MYPY_CONFIG_FILE_DIR/src ignore_missing_imports = True disallow_untyped_defs = True disallow_any_generics = True warn_unused_ignores = True no_implicit_optional = True [mypy-pip._internal.utils._jaraco_text] ignore_errors = True [mypy-pip._vendor.*] ignore_errors = True # These vendored libraries use runtime magic to populate things and don't sit # well with static typing out of the box. Eventually we should provide correct # typing information for their public interface and remove these configs. [mypy-pip._vendor.colorama] follow_imports = skip [mypy-pip._vendor.pkg_resources] follow_imports = skip [mypy-pip._vendor.progress.*] follow_imports = skip [mypy-pip._vendor.requests.*] follow_imports = skip [tool:pytest] addopts = --ignore src/pip/_vendor --ignore tests/tests_cache -r aR --color=yes xfail_strict = True markers = network: tests that need network incompatible_with_sysconfig incompatible_with_venv no_auto_tempdir_manager unit: unit tests integration: integration tests bzr: VCS: Bazaar svn: VCS: Subversion mercurial: VCS: Mercurial git: VCS: git search: tests for 'pip search' [coverage:run] branch = True # Do not gather coverage for vendored libraries. omit = */_vendor/* # Centralized absolute file prefix for coverage files. data_file = ${COVERAGE_OUTPUT_DIR}/.coverage # By default, each covered process will try to truncate and then write to # `data_file`, but with `parallel`, they will write to separate files suffixed # with hostname, pid, and a timestamp. parallel = True # If not set, then at the termination of each worker (when using pytest-xdist), # the following is traced: "Coverage.py warning: Module pip was previously # imported, but not measured (module-not-measured)" disable_warnings = module-not-measured [coverage:paths] # We intentionally use "source0" here because pytest-cov unconditionally sets # "source" after loading the config. source0 = # The primary source code path which other paths will be combined into. src/pip/ # Unit test source directory e.g. # `.tox/coverage-py3/lib/pythonX.Y/site-packages/pip/...` */site-packages/pip/ # Functional test virtual environment directories, which look like # `tmpdir/pip0/pip/src/pip/...` */pip/src/pip/ [coverage:report] exclude_lines = # We must re-state the default because the `exclude_lines` option overrides # it. pragma: no cover # This excludes typing-specific code, which will be validated by mypy anyway. if TYPE_CHECKING