From fc26cf27e3139cfbd414cc3311ff308a50f7e629 Mon Sep 17 00:00:00 2001 From: MaXFeeD Date: Thu, 19 Mar 2026 20:47:01 +0300 Subject: [PATCH] Using ABC as class basis for deprecated meta --- src/icmtoolchain/language.py | 6 +++--- src/icmtoolchain/project_graph.py | 4 ++-- src/icmtoolchain/prompt.py | 4 ++-- src/icmtoolchain/rule_set.py | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/icmtoolchain/language.py b/src/icmtoolchain/language.py index b7b604e..581c104 100644 --- a/src/icmtoolchain/language.py +++ b/src/icmtoolchain/language.py @@ -1,4 +1,4 @@ -from abc import ABCMeta, abstractmethod +from abc import ABC, abstractmethod from copy import deepcopy from dataclasses import dataclass, field from os.path import abspath, basename, dirname, isdir, isfile, join @@ -65,7 +65,7 @@ def get_language_directories(compile_type: str, language_config: Config, propert return configurables @dataclass -class FlushableMakeProjectData(metaclass=ABCMeta): +class FlushableMakeProjectData(ABC): @abstractmethod def flush_to_output(self, directory: str) -> int: ... @@ -224,7 +224,7 @@ PROJECT_TYPE_MOD = 1 PROJECT_TYPE_MODPACK = 2 PROJECT_TYPE_PACK = 3 -class MakeDataConfig(FileConfig, RuleSetConfig, RuleSetHolder, metaclass=ABCMeta): +class MakeDataConfig(FileConfig, RuleSetConfig, RuleSetHolder, ABC): defaults: FileConfig current_project: Final[str] project_unique_name: Final[str] diff --git a/src/icmtoolchain/project_graph.py b/src/icmtoolchain/project_graph.py index 0c132a5..6973d01 100644 --- a/src/icmtoolchain/project_graph.py +++ b/src/icmtoolchain/project_graph.py @@ -1,6 +1,6 @@ import json import os -from abc import ABCMeta, abstractmethod +from abc import ABC, abstractmethod from functools import cmp_to_key from itertools import chain from os.path import abspath, basename, exists, isdir, isfile, join @@ -15,7 +15,7 @@ from .utils import ensure_not_whitespace, remove_tree AVAILABLE_ARTIFACTS: Dict[Union[type, Callable[[Any], bool]], Union[Callable[[Any], 'Artifact'], Type['Artifact']]] = {} -class Artifact(metaclass=ABCMeta): +class Artifact(ABC): def __init__(self, description: Any) -> None: self.description = description diff --git a/src/icmtoolchain/prompt.py b/src/icmtoolchain/prompt.py index ff4e7c2..1d7b5d9 100644 --- a/src/icmtoolchain/prompt.py +++ b/src/icmtoolchain/prompt.py @@ -1,4 +1,4 @@ -from abc import ABCMeta, abstractmethod +from abc import ABC, abstractmethod from typing import (Any, Callable, Dict, Iterable, List, Optional, Sequence, Sized, Tuple, Union, cast) @@ -19,7 +19,7 @@ from .shell import (Editable, Interactable, Selectable, attention, failure, frozen, get_toolchain_style, pretty_print, success) -class Feedback(metaclass=ABCMeta): +class Feedback(ABC): on_pre_request: Optional[Callable[['Feedback'], None]] def __init__(self, prompt: AnyFormattedText = "Ooh, was it supposed to be a query here?", fallback: object = None) -> None: diff --git a/src/icmtoolchain/rule_set.py b/src/icmtoolchain/rule_set.py index b233a6b..d515352 100644 --- a/src/icmtoolchain/rule_set.py +++ b/src/icmtoolchain/rule_set.py @@ -1,4 +1,4 @@ -from abc import ABCMeta +from abc import ABC from itertools import chain from typing import (Any, Dict, MutableMapping, MutableSequence, MutableSet, Optional) @@ -93,7 +93,7 @@ TOOLCHAIN_RULE_SET.append_set("package_type", "develop", "release") TOOLCHAIN_RULE_SET.append_set("java_compiler", "javac", "ecj", "gradle") TOOLCHAIN_RULE_SET.append_set("native_architecture", "arm", "arm64", "x86", "x86_64") -class RuleSetHolder(metaclass=ABCMeta): +class RuleSetHolder(ABC): rule_set: RuleSet properties: MutableSequence[str]