diff --git a/mypy.ini b/mypy.ini index 8ed4417..45198a4 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1,5 +1,4 @@ [mypy] -plugins = dataclassy.mypy [mypy-orjson.*] # https://github.com/toumorokoshi/deepmerge/issues/27 diff --git a/pyproject.toml b/pyproject.toml index 384e0e2..e63b2ff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,6 @@ authors = [ requires-python = ">=3.8" dependencies = [ "colorlog", - "dataclassy", "deepmerge>=2.0", "pyaml", ] diff --git a/src/pillar/application.py b/src/pillar/application.py index 34ee10b..5fd9738 100644 --- a/src/pillar/application.py +++ b/src/pillar/application.py @@ -2,6 +2,7 @@ ### ============================================================================ ## Standard Library import argparse +import dataclasses import inspect import logging import logging.handlers @@ -17,16 +18,16 @@ ## Installed import colorlog -import dataclassy ## Application from .config import ConfigLoader +from .dataclass import dataclass_slots_kwargs from .logging import LoggingMixin, get_log_level, logging_file_handler_errors_kwargs ### CLASSES ### ============================================================================ -@dataclassy.dataclass(slots=True) # pylint: disable=unexpected-keyword-arg +@dataclasses.dataclass(**dataclass_slots_kwargs()) class LoggingManifest: """Simplified configuration of an `Application`'s logging. @@ -65,7 +66,7 @@ class LoggingManifest: # General default_level: int = logging.INFO - additional_namespaces: List[str] = dataclassy.factory(list) + additional_namespaces: List[str] = dataclasses.field(default_factory=list) # Literal require py38 # log_format: Literal["text", "json"] = "text" # log_format: str = "text"