This module provides UI for editing class variables through blender UI, as alternative to properties. Its pretty useless with dicts and lists of generic types though, because there is currently no option to choose new element type.
kinda works: bool int float str
WIP, but kinda works: dict list
Subclass class_variables_editor_ui.panel.UIClassVariablesEditor
and use method draw_var_editor
Linux:
Symlink ~/.config/blender/3.1/scripts/modules/class_variables_editor_ui
to class_variables_editor_ui
Windows: idk
Mac: idk