22import sys
33import traceback
44from importlib import import_module
5- from typing import ClassVar , Dict , Iterable , Optional , Tuple , Union
5+ from typing import ClassVar , Dict , Iterable , Tuple , Union
66
7- try : # pragma: no cover
8- from importlib .metadata import version as metadata_version
9- except ImportError : # pragma: no cover
10- from importlib_metadata import version as metadata_version # type: ignore
117from coverage import CoveragePlugin
128from coverage .config import CoverageConfig
13- from packaging import version
149from packaging .markers import default_environment
1510
11+ from coverage_conditional_plugin .version import package_version
12+
1613
1714def get_env_info () -> Dict [str , object ]:
1815 """Public helper to get the same env we pass to the plugin."""
@@ -23,7 +20,7 @@ def get_env_info() -> Dict[str, object]:
2320 'sys_version_info' : sys .version_info ,
2421 'os_environ' : os .environ ,
2522 'is_installed' : _is_installed ,
26- 'package_version' : _package_version ,
23+ 'package_version' : package_version ,
2724 # We need this, otherwise `_should_be_applied` can generate a warning:
2825 'sys' : sys ,
2926 })
@@ -121,20 +118,6 @@ def _is_installed(package: str) -> bool:
121118 return True
122119
123120
124- def _package_version (
125- package : str ,
126- ) -> Optional [Tuple [int , ...]]:
127- """
128- Helper function that fetches distribution version.
129-
130- Can throw multiple exceptions.
131- Be careful, use ``is_installed`` before using this one.
132-
133- Returns parsed varsion to be easily worked with.
134- """
135- return version .parse (metadata_version (package )).release
136-
137-
138121def coverage_init (reg , options ) -> None :
139122 """
140123 Entrypoint, part of the ``coverage`` API.
0 commit comments