From b691122c1a8ab83dd134dd543794a20d36a0a042 Mon Sep 17 00:00:00 2001 From: Jakob Keller <57402305+jakob-keller@users.noreply.github.com> Date: Wed, 26 Jun 2024 22:31:00 +0200 Subject: [PATCH] build(deps): remove `importlib_metadata` for Python >=3.10 --- commitizen/changelog_formats/__init__.py | 6 +++++- commitizen/cz/__init__.py | 6 +++++- commitizen/providers/__init__.py | 6 +++++- commitizen/version_schemes.py | 6 +++++- poetry.lock | 2 +- pyproject.toml | 2 +- tests/test_factory.py | 6 +++++- tests/test_version_schemes.py | 8 +++++++- 8 files changed, 34 insertions(+), 8 deletions(-) diff --git a/commitizen/changelog_formats/__init__.py b/commitizen/changelog_formats/__init__.py index b91579ee71..782bfb24cb 100644 --- a/commitizen/changelog_formats/__init__.py +++ b/commitizen/changelog_formats/__init__.py @@ -1,8 +1,12 @@ from __future__ import annotations +import sys from typing import ClassVar, Protocol -import importlib_metadata as metadata +if sys.version_info >= (3, 10): + from importlib import metadata +else: + import importlib_metadata as metadata from commitizen.changelog import Metadata from commitizen.config.base_config import BaseConfig diff --git a/commitizen/cz/__init__.py b/commitizen/cz/__init__.py index f889dbd842..04603a9ec4 100644 --- a/commitizen/cz/__init__.py +++ b/commitizen/cz/__init__.py @@ -2,10 +2,14 @@ import importlib import pkgutil +import sys import warnings from typing import Iterable -import importlib_metadata as metadata +if sys.version_info >= (3, 10): + from importlib import metadata +else: + import importlib_metadata as metadata from commitizen.cz.base import BaseCommitizen diff --git a/commitizen/providers/__init__.py b/commitizen/providers/__init__.py index a177b29961..3fd4ab1bfd 100644 --- a/commitizen/providers/__init__.py +++ b/commitizen/providers/__init__.py @@ -1,8 +1,12 @@ from __future__ import annotations +import sys from typing import cast -import importlib_metadata as metadata +if sys.version_info >= (3, 10): + from importlib import metadata +else: + import importlib_metadata as metadata from commitizen.config.base_config import BaseConfig from commitizen.exceptions import VersionProviderUnknown diff --git a/commitizen/version_schemes.py b/commitizen/version_schemes.py index 26a19ec1b1..346287a065 100644 --- a/commitizen/version_schemes.py +++ b/commitizen/version_schemes.py @@ -15,7 +15,11 @@ runtime_checkable, ) -import importlib_metadata as metadata +if sys.version_info >= (3, 10): + from importlib import metadata +else: + import importlib_metadata as metadata + from packaging.version import InvalidVersion # noqa: F401: Rexpose the common exception from packaging.version import Version as _BaseVersion diff --git a/poetry.lock b/poetry.lock index 91ce69f45e..e15e2e851c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1784,4 +1784,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more [metadata] lock-version = "2.0" python-versions = ">=3.8" -content-hash = "ae23361204d1cc38d6ea93cceaa273548efffef705c09120767bb4e79196181a" +content-hash = "5c50eb89395cfaea68afc05bf419017823990724552f6d6fa25d426122fc9525" diff --git a/pyproject.toml b/pyproject.toml index 090e9ba42b..8ee0cd46aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,7 +51,7 @@ argcomplete = ">=1.12.1,<3.5" typing-extensions = { version = "^4.0.1", python = "<3.8" } charset-normalizer = ">=2.1.0,<4" # Use the Python 3.11 and 3.12 compatible API: https://github.com/python/importlib_metadata#compatibility -importlib_metadata = { version = ">=4.13,<8"} +importlib_metadata = { version = ">=4.13,<8", python = "<3.10"} [tool.poetry.group.dev.dependencies] # dev tool diff --git a/tests/test_factory.py b/tests/test_factory.py index 0ac8c0b275..390742f467 100644 --- a/tests/test_factory.py +++ b/tests/test_factory.py @@ -1,7 +1,11 @@ import sys from textwrap import dedent -import importlib_metadata as metadata +if sys.version_info >= (3, 10): + from importlib import metadata +else: + import importlib_metadata as metadata + import pytest from commitizen import BaseCommitizen, defaults, factory diff --git a/tests/test_version_schemes.py b/tests/test_version_schemes.py index 985b371f7b..686c0bfde1 100644 --- a/tests/test_version_schemes.py +++ b/tests/test_version_schemes.py @@ -1,6 +1,12 @@ from __future__ import annotations -import importlib_metadata as metadata +import sys + +if sys.version_info >= (3, 10): + from importlib import metadata +else: + import importlib_metadata as metadata + import pytest from pytest_mock import MockerFixture