Skip to content

Commit c3a3421

Browse files
committed
fix: export our public names for type checking. #1564
1 parent f217d0d commit c3a3421

File tree

5 files changed

+31
-9
lines changed

5 files changed

+31
-9
lines changed

CHANGES.rst

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ Unreleased
2323
- Fix: the PyPI page had broken links to documentation pages, but no longer
2424
does, closing `issue 1566`_.
2525

26+
- Fix: public members of the coverage module are now properly indicated so that
27+
mypy will find them, fixing `issue 1564`_.
28+
29+
.. _issue 1564: https://github.com/nedbat/coveragepy/issues/1564
2630
.. _issue 1566: https://github.com/nedbat/coveragepy/issues/1566
2731

2832

coverage/__init__.py

+21-7
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,29 @@
99
1010
"""
1111

12-
import sys
12+
# mypy's convention is that "import as" names are public from the module.
13+
# We import names as themselves to indicate that. Pylint sees it as pointless,
14+
# so disable its warning.
15+
# pylint: disable=useless-import-alias
1316

14-
from coverage.version import __version__, __url__, version_info
17+
import sys
1518

16-
from coverage.control import Coverage, process_startup
17-
from coverage.data import CoverageData
18-
from coverage.exceptions import CoverageException
19-
from coverage.plugin import CoveragePlugin, FileTracer, FileReporter
20-
from coverage.pytracer import PyTracer
19+
from coverage.version import (
20+
__version__ as __version__,
21+
version_info as version_info,
22+
)
23+
24+
from coverage.control import (
25+
Coverage as Coverage,
26+
process_startup as process_startup,
27+
)
28+
from coverage.data import CoverageData as CoverageData
29+
from coverage.exceptions import CoverageException as CoverageException
30+
from coverage.plugin import (
31+
CoveragePlugin as CoveragePlugin,
32+
FileReporter as FileReporter,
33+
FileTracer as FileTracer,
34+
)
2135

2236
# Backward compatibility.
2337
coverage = Coverage

coverage/cmdline.py

+2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
from coverage.exceptions import _BaseCoverageException, _ExceptionDuringRun, NoSource
2828
from coverage.execfile import PyRunner
2929
from coverage.results import Numbers, should_fail_under
30+
from coverage.version import __url__
3031

3132
# When adding to this file, alphabetization is important. Look for
3233
# "alphabetize" comments throughout.
@@ -574,6 +575,7 @@ def show_help(
574575
program_name = program_name[:-len(auto_suffix)]
575576

576577
help_params = dict(coverage.__dict__)
578+
help_params["__url__"] = __url__
577579
help_params['program_name'] = program_name
578580
if HAS_CTRACER:
579581
help_params['extension_modifier'] = 'with C extension'

coverage/html.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from coverage.results import Analysis, Numbers
2525
from coverage.templite import Templite
2626
from coverage.types import TLineNo, TMorf
27+
from coverage.version import __url__
2728

2829

2930
if TYPE_CHECKING:
@@ -238,7 +239,7 @@ def __init__(self, cov: Coverage) -> None:
238239
'len': len,
239240

240241
# Constants for this report.
241-
'__url__': coverage.__url__,
242+
'__url__': __url__,
242243
'__version__': coverage.__version__,
243244
'title': title,
244245
'time_stamp': format_local_datetime(datetime.datetime.now()),

coverage/xmlreport.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@
1414
from dataclasses import dataclass
1515
from typing import Any, Dict, IO, Iterable, Optional, TYPE_CHECKING, cast
1616

17-
from coverage import __url__, __version__, files
17+
from coverage import __version__, files
1818
from coverage.misc import isolate_module, human_sorted, human_sorted_items
1919
from coverage.plugin import FileReporter
2020
from coverage.report import get_analysis_to_report
2121
from coverage.results import Analysis
2222
from coverage.types import TMorf
23+
from coverage.version import __url__
2324

2425
if TYPE_CHECKING:
2526
from coverage import Coverage

0 commit comments

Comments
 (0)