oh you stored it on gitlab instead of github… quite unique.
I would opt for Traitlets over dataclasses… but both are superior to vanilla Python objects.
You need traitlets yesterday. It comes with a logging attribute and has extensive support for configuration - via command-line, or config files or python oop.
It is listed - let me know if you have any updates to the description.