bl_info = { 'name': 'Package Manager', 'description': 'Testing package management', 'category': 'System', 'support': 'TESTING', } import bpy class PackageSettings(bpy.types.PropertyGroup): url = bpy.props.StringProperty(name="URL") # class PackageManager: # # For some reason accessing *Property objects stored in this class gives a TypeError: # # UILayout.prop(): error with argument 1, "data" - Function.data expected a AnyType type, not tuple # # But accessing them when not stored in a class or dict is fine? # settings = bpy.props.PointerProperty(type=PackageSettings) # last_response_code = bpy.props.PointerProperty(type=bpy.types.StringProperty) def register(): from . import (pkg_ops, pkg_ui) bpy.utils.register_class(PackageSettings) bpy.types.WindowManager.package_manager_settings = bpy.props.PointerProperty(type=PackageSettings) pkg_ops.register() pkg_ui.register() def unregister(): from . import (pkg_ops, pkg_ui) pkg_ops.unregister() pkg_ui.unregister(); bpy.utils.unregister_class(PackageSettings) del bpy.types.WindowManager.package_manager_settings