Here's a shorter method of loading all UI... classes into the global namespace, if you really want to do that (I find it a bit wasteful):
from objc_util import ObjCClass globals().update({n: ObjCClass(n) for n in ObjCClass.get_names('UI')})@JonB The startswith('_') check seems unnecessary, given that the class names are already filtered by prefix. Also, a ValueError shouldn't really happen because get_names only returns names of classes that actually exist.