Skip to content

Commit abe734b

Browse files
authored
Version 0.7.0 release (#180)
* Version 0.7.0 release * Fix CI * Fix flake8
1 parent 66a1444 commit abe734b

File tree

6 files changed

+40
-27
lines changed

6 files changed

+40
-27
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@
33
We follow [Semantic Versions](https://semver.org/).
44

55

6+
## Version 0.7.0
7+
8+
### Features
9+
10+
- Use `importlib` instead of `pkg_resources` to get package version
11+
12+
613
## Version 0.6.0
714

815
### Features

coverage_conditional_plugin/__init__.py

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,14 @@
22
import sys
33
import traceback
44
from 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
117
from coverage import CoveragePlugin
128
from coverage.config import CoverageConfig
13-
from packaging import version
149
from packaging.markers import default_environment
1510

11+
from coverage_conditional_plugin.version import package_version
12+
1613

1714
def 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-
138121
def coverage_init(reg, options) -> None:
139122
"""
140123
Entrypoint, part of the ``coverage`` API.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from typing import Optional, Tuple
2+
3+
try: # pragma: no cover
4+
from importlib.metadata import version as metadata_version
5+
except ImportError: # pragma: no cover
6+
from importlib_metadata import version as metadata_version # type: ignore
7+
8+
from packaging import version
9+
10+
11+
def package_version(
12+
package: str,
13+
) -> Optional[Tuple[int, ...]]:
14+
"""
15+
Helper function that fetches distribution version.
16+
17+
Can throw multiple exceptions.
18+
Be careful, use ``is_installed`` before using this one.
19+
20+
Returns parsed varsion to be easily worked with.
21+
"""
22+
return version.parse(metadata_version(package)).release

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "coverage-conditional-plugin"
3-
version = "0.6.0"
3+
version = "0.7.0"
44
description = "Conditional coverage based on any rules you define!"
55
license = "MIT"
66

setup.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ extend-exclude =
3333
per-file-ignores =
3434
# we need nested import and block variable overlap for conditional
3535
# importlib_metadata import
36-
coverage_conditional_plugin/__init__.py: WPS433, WPS440
36+
coverage_conditional_plugin/version.py: WPS433, WPS440
3737
# Disable `test_project` complexity checks:
3838
test_project/example.py: WPS202
3939
# Enable `assert` keyword and magic numbers for tests:
@@ -95,6 +95,6 @@ warn_redundant_casts = true
9595
warn_unused_configs = true
9696
warn_unreachable = true
9797

98-
[mypy-coverage_conditional_plugin]
98+
[mypy-coverage_conditional_plugin.version]
9999
# We allow unused `ignore` comments, because we cannot sync it between versions:
100100
warn_unused_ignores = false

tests/test_implementation.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from coverage_conditional_plugin import _is_installed, _package_version
1+
from coverage_conditional_plugin import _is_installed
2+
from coverage_conditional_plugin.version import package_version
23

34

45
def test_is_installed():
@@ -10,8 +11,8 @@ def test_is_installed():
1011

1112
def test_package_version():
1213
"""Ensures that ``_package_version`` is correct."""
13-
coverage_version = _package_version('coverage')
14-
pytest_version = _package_version('pytest')
14+
coverage_version = package_version('coverage')
15+
pytest_version = package_version('pytest')
1516

1617
assert coverage_version is not None
1718
assert coverage_version < (1000, 0, 0)

0 commit comments

Comments
 (0)