Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions commitizen/bump.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,19 @@
import os
import re
from collections import OrderedDict
from collections.abc import Generator, Iterable
from glob import iglob
from logging import getLogger
from string import Template
from typing import cast
from typing import TYPE_CHECKING, cast

from commitizen.defaults import BUMP_MESSAGE, MAJOR, MINOR, PATCH
from commitizen.exceptions import CurrentVersionNotFoundError
from commitizen.git import GitCommit, smart_open
from commitizen.version_schemes import Increment, Version

if TYPE_CHECKING:
from collections.abc import Generator, Iterable

from commitizen.version_schemes import Increment, Version

VERSION_TYPES = [None, PATCH, MINOR, MAJOR]

Expand Down Expand Up @@ -56,7 +59,7 @@ def find_increment(
if increment == MAJOR:
break

return cast(Increment, increment)
return cast("Increment", increment)


def update_version_in_files(
Expand Down
8 changes: 4 additions & 4 deletions commitizen/changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@

import re
from collections import OrderedDict, defaultdict
from collections.abc import Generator, Iterable, Mapping, MutableMapping, Sequence
from dataclasses import dataclass
from datetime import date
from itertools import chain
Expand All @@ -44,13 +43,14 @@
Template,
)

from commitizen.cz.base import ChangelogReleaseHook
from commitizen.exceptions import InvalidConfigurationError, NoCommitsFoundError
from commitizen.git import GitCommit, GitTag
from commitizen.tags import TagRules

if TYPE_CHECKING:
from commitizen.cz.base import MessageBuilderHook
from collections.abc import Generator, Iterable, Mapping, MutableMapping, Sequence

from commitizen.cz.base import ChangelogReleaseHook, MessageBuilderHook
from commitizen.git import GitCommit, GitTag


@dataclass
Expand Down
8 changes: 5 additions & 3 deletions commitizen/changelog_formats/__init__.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
from __future__ import annotations

import sys
from typing import Callable, ClassVar, Protocol
from typing import TYPE_CHECKING, Callable, ClassVar, Protocol

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
from commitizen.exceptions import ChangelogFormatUnknown

if TYPE_CHECKING:
from commitizen.changelog import Metadata
from commitizen.config.base_config import BaseConfig

CHANGELOG_FORMAT_ENTRYPOINT = "commitizen.changelog_format"
TEMPLATE_EXTENSION = "j2"

Expand Down
6 changes: 4 additions & 2 deletions commitizen/changelog_formats/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@

import os
from abc import ABCMeta
from typing import IO, Any, ClassVar
from typing import IO, TYPE_CHECKING, Any, ClassVar

from commitizen.changelog import Metadata
from commitizen.config.base_config import BaseConfig
from commitizen.tags import TagRules, VersionTag
from commitizen.version_schemes import get_version_scheme

from . import ChangelogFormat

if TYPE_CHECKING:
from commitizen.config.base_config import BaseConfig


class BaseFormat(ChangelogFormat, metaclass=ABCMeta):
"""
Expand Down
6 changes: 4 additions & 2 deletions commitizen/cmd.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@

import os
import subprocess
from collections.abc import Mapping
from typing import NamedTuple
from typing import TYPE_CHECKING, NamedTuple

from charset_normalizer import from_bytes

from commitizen.exceptions import CharacterSetDecodeError

if TYPE_CHECKING:
from collections.abc import Mapping


class Command(NamedTuple):
out: str
Expand Down
10 changes: 6 additions & 4 deletions commitizen/commands/bump.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@

import warnings
from logging import getLogger
from typing import cast
from typing import TYPE_CHECKING, cast

import questionary

from commitizen import bump, factory, git, hooks, out
from commitizen.changelog_formats import get_changelog_format
from commitizen.commands.changelog import Changelog
from commitizen.config import BaseConfig
from commitizen.defaults import Settings
from commitizen.exceptions import (
BumpCommitFailedError,
Expand All @@ -33,6 +32,9 @@
get_version_scheme,
)

if TYPE_CHECKING:
from commitizen.config import BaseConfig

logger = getLogger("commitizen")


Expand Down Expand Up @@ -69,7 +71,7 @@ def __init__(self, config: BaseConfig, arguments: BumpArgs) -> None:
self.config: BaseConfig = config
self.arguments = arguments
self.bump_settings = cast(
BumpArgs,
"BumpArgs",
{
**config.settings,
**{
Expand Down Expand Up @@ -260,7 +262,7 @@ def __call__(self) -> None:
)
)

rules = TagRules.from_settings(cast(Settings, self.bump_settings))
rules = TagRules.from_settings(cast("Settings", self.bump_settings))
current_tag = rules.find_tag_for(git.get_tags(), current_version)
current_tag_version = (
current_tag.name if current_tag else rules.normalize_tag(current_version)
Expand Down
11 changes: 7 additions & 4 deletions commitizen/commands/changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@

import os
import os.path
from collections.abc import Generator, Iterable
from difflib import SequenceMatcher
from operator import itemgetter
from pathlib import Path
from typing import Any, TypedDict, cast
from typing import TYPE_CHECKING, Any, TypedDict, cast

from commitizen import changelog, defaults, factory, git, out
from commitizen.changelog_formats import get_changelog_format
from commitizen.config import BaseConfig
from commitizen.cz.utils import strip_local_version
from commitizen.exceptions import (
DryRunExit,
Expand All @@ -24,6 +22,11 @@
from commitizen.tags import TagRules
from commitizen.version_schemes import get_version_scheme

if TYPE_CHECKING:
from collections.abc import Generator, Iterable

from commitizen.config import BaseConfig


class ChangelogArgs(TypedDict, total=False):
change_type_map: dict[str, str]
Expand Down Expand Up @@ -97,7 +100,7 @@ def __init__(self, config: BaseConfig, arguments: ChangelogArgs) -> None:
self.config.settings.get("change_type_map") or self.cz.change_type_map
)
self.change_type_order = cast(
list[str],
"list[str]",
self.config.settings.get("change_type_order")
or self.cz.change_type_order
or defaults.CHANGE_TYPE_ORDER,
Expand Down
6 changes: 4 additions & 2 deletions commitizen/commands/check.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,19 @@

import re
import sys
from typing import TypedDict
from typing import TYPE_CHECKING, TypedDict

from commitizen import factory, git, out
from commitizen.config import BaseConfig
from commitizen.exceptions import (
CommitMessageLengthExceededError,
InvalidCommandArgumentError,
InvalidCommitMessageError,
NoCommitsFoundError,
)

if TYPE_CHECKING:
from commitizen.config import BaseConfig


class CheckArgs(TypedDict, total=False):
commit_msg_file: str
Expand Down
9 changes: 6 additions & 3 deletions commitizen/commands/commit.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@
import shutil
import subprocess
import tempfile
from pathlib import Path
from typing import TypedDict
from typing import TYPE_CHECKING, TypedDict

import questionary

from commitizen import factory, git, out
from commitizen.config import BaseConfig
from commitizen.cz.exceptions import CzException
from commitizen.cz.utils import get_backup_file_path
from commitizen.exceptions import (
Expand All @@ -27,6 +25,11 @@
)
from commitizen.git import smart_open

if TYPE_CHECKING:
from pathlib import Path

from commitizen.config import BaseConfig


class CommitArgs(TypedDict, total=False):
all: bool
Expand Down
10 changes: 6 additions & 4 deletions commitizen/commands/init.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
from __future__ import annotations

from pathlib import Path
from typing import Any, NamedTuple
from typing import TYPE_CHECKING, Any, NamedTuple

import questionary
import yaml

from commitizen import cmd, factory, out, project_info
from commitizen.__version__ import __version__
from commitizen.config import (
BaseConfig,
)
from commitizen.config.factory import create_config
from commitizen.cz import registry
from commitizen.defaults import CONFIG_FILES, DEFAULT_SETTINGS
from commitizen.exceptions import InitFailedError, NoAnswersError
from commitizen.git import get_latest_tag_name, get_tag_names, smart_open
from commitizen.version_schemes import KNOWN_SCHEMES, Version, get_version_scheme

if TYPE_CHECKING:
from commitizen.config import (
BaseConfig,
)


class _VersionProviderOption(NamedTuple):
provider_name: str
Expand Down
5 changes: 4 additions & 1 deletion commitizen/config/__init__.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
from __future__ import annotations

from collections.abc import Generator
from pathlib import Path
from typing import TYPE_CHECKING

from commitizen import defaults, git
from commitizen.config.factory import create_config
from commitizen.exceptions import ConfigFileIsEmpty, ConfigFileNotFound

from .base_config import BaseConfig

if TYPE_CHECKING:
from collections.abc import Generator


def _resolve_config_paths(filepath: str | None = None) -> Generator[Path, None, None]:
if filepath is not None:
Expand Down
8 changes: 6 additions & 2 deletions commitizen/config/factory.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
from __future__ import annotations

from pathlib import Path
from typing import TYPE_CHECKING

from commitizen.config.base_config import BaseConfig
from commitizen.config.json_config import JsonConfig
from commitizen.config.toml_config import TomlConfig
from commitizen.config.yaml_config import YAMLConfig

if TYPE_CHECKING:
from pathlib import Path

from commitizen.config.base_config import BaseConfig


def create_config(*, data: bytes | str | None = None, path: Path) -> BaseConfig:
if "toml" in path.suffix:
Expand Down
2 changes: 1 addition & 1 deletion commitizen/config/json_config.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from __future__ import annotations

import json
from pathlib import Path
from typing import TYPE_CHECKING

from commitizen.exceptions import InvalidConfigurationError
Expand All @@ -11,6 +10,7 @@

if TYPE_CHECKING:
import sys
from pathlib import Path

# Self is Python 3.11+ but backported in typing-extensions
if sys.version_info < (3, 11):
Expand Down
2 changes: 1 addition & 1 deletion commitizen/config/toml_config.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from __future__ import annotations

import os
from pathlib import Path
from typing import TYPE_CHECKING

from tomlkit import TOMLDocument, exceptions, parse, table
Expand All @@ -12,6 +11,7 @@

if TYPE_CHECKING:
import sys
from pathlib import Path

# Self is Python 3.11+ but backported in typing-extensions
if sys.version_info < (3, 11):
Expand Down
2 changes: 1 addition & 1 deletion commitizen/config/yaml_config.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from __future__ import annotations

from pathlib import Path
from typing import TYPE_CHECKING

import yaml
Expand All @@ -12,6 +11,7 @@

if TYPE_CHECKING:
import sys
from pathlib import Path

# Self is Python 3.11+ but backported in typing-extensions
if sys.version_info < (3, 11):
Expand Down
8 changes: 6 additions & 2 deletions commitizen/cz/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,18 @@
import pkgutil
import sys
import warnings
from collections.abc import Iterable

if sys.version_info >= (3, 10):
from importlib import metadata
else:
import importlib_metadata as metadata

from commitizen.cz.base import BaseCommitizen
from typing import TYPE_CHECKING

if TYPE_CHECKING:
from collections.abc import Iterable

from commitizen.cz.base import BaseCommitizen


def discover_plugins(
Expand Down
Loading