There are a lot of reasons we are pushing users to transition away from AppleScript:
• Apple is
dropping support for 32-bit binaries in June and Indigo's AppleScript integration is built on top of a 3rd party 32-bit library and Apple 32-bit framework that aren't being updated to 64-bit. We would have to completely rewrite our AppleScript integration layer to a different framework, a task which would take significant engineering and QA time.
• Apple's
ongoing commitment to AppleScript appears weak. Even if we were able to update Indigo to support AppleScript on 64-bit only macOS releases, how much longer will Apple continue to support and maintain AppleScript going forward? We think the writing is on the wall for its deprecation.
• Python has proven to be a much more reliable scripting environment, and has a strong community of developers. Additionally, Python is open source and even if Apple no longer included Python in a future macOS release we could embed our own version.
Note again that only AppleScripts that target Indigo will need attention. AppleScripts that are being used to command/control other macOS apps will work (although they might have to be saved as external AppleScript files instead of being embedded). We know the transition won't be trivial for some of our users, but we are here to help answer any questions you might have on converting your AppleScripts.
For some examples on controlling Indigo via Python and converting AppleScripts to Python, see the
scripting tutorial, the
devices object model documentation, and
variables object mode documentation. There are also some forum threads with
good discussions and examples and feel free to post any AppleScripts you are struggling to convert
on the forum here.