33from __future__ import annotations
44
55from collections .abc import Iterable
6- from dataclasses import dataclass
76from pathlib import Path
87
8+ from exasol .toolbox .config import BaseConfig
99from exasol .toolbox .nox .plugin import hookimpl
1010from exasol .toolbox .tools .replace_version import update_github_yml
1111from exasol .toolbox .util .version import Version
@@ -38,8 +38,17 @@ def prepare_release_add_files(self, session, config):
3838 return self .template_workflows + self .actions
3939
4040
41- @dataclass (frozen = True )
42- class Config :
41+ # BaseConfig
42+ # - Use
43+ # Project_Config = BaseConfig()
44+ # - modify
45+ # Project_Config = BaseConfig(python_versions=["3.12"])
46+ # - expand (Do not overwrite the attributes of BaseConfig)
47+ # class ProjectConfig(BaseConfig):
48+ # extra_data: list[str] = ["data"]
49+
50+
51+ class Config (BaseConfig ):
4352 """Project specific configuration used by nox infrastructure"""
4453
4554 root : Path = Path (__file__ ).parent
@@ -53,14 +62,11 @@ class Config:
5362 "idioms" ,
5463 ".github" ,
5564 )
56- python_versions : Iterable [str ] = ("3.9" , "3.10" , "3.11" , "3.12" , "3.13" )
57- exasol_versions : Iterable [str ] = ("7.1.9" ,)
5865 plugins : Iterable [object ] = (UpdateTemplates ,)
5966 # need --keep-runtime-typing, as pydantic with python3.9 does not accept str | None
6067 # format, and it is not resolved with from __future__ import annotations. pyupgrade
6168 # will keep switching Optional[str] to str | None leading to issues.
6269 pyupgrade_args : Iterable [str ] = ("--py39-plus" , "--keep-runtime-typing" )
63- create_major_version_tags = True
6470
6571
66- PROJECT_CONFIG = Config ()
72+ PROJECT_CONFIG = Config (create_major_version_tags = True )
0 commit comments