'path': 'doSomething.py', 'preferredName': 'do something', 'shortKey': (NSCommandKeyMask | NSShiftKeyMask, 'b'), }, { 'path': 'doSomethingElse.py', 'preferredName': 'do something else', 'shortKey': (NSAlternateKeyMask, 'o'), }] # license for the extension with open(licensePath) as license: B.license = license.read() # required extensions with open(requirementsPath) as requirements: B.requirements = requirements.read() # expiration date for trial extensions B.expireDate = '2020-12-31' # compile and save the extension bundle print('building extension...', end=' ') B.save(extensionPath, libPath=libPath, htmlPath=htmlPath, resourcesPath=resourcesPath) print('done!') # check for problems in the compiled extension print() print(B.validationErrors())