Project status
Appscript development and support ended in 2012. Python appscript is in minimal maintenance mode. The original Ruby appscript is defunct, although a third-party fork exists. ObjC appscript is 100% obsolete and dead. No support is provided.
Apple eliminated its Mac Automation department in 2016. The future of AppleScript and its related technologies is unclear. Caveat emptor.
For now the least problematic way to send Apple events to other applications is to call into AppleScript via osascript or AppleScriptObjC.
- osascript -- run AppleScripts via the command-line
- NSAppleScript -- run AppleScripts via the lower-level Cocoa APIs
- AppleScriptObjC -- call AppleScript handlers directly via macOS's high-level AppleScript-Cocoa bridge
- Scripting Bridge -- defective, crippled ObjC-AE bridge; effectively unmaintained and unsupported by Apple; not recommended
- JavaScript for Automation (JXA) -- defective, crippled JavaScript OSA component; effectively unmaintained and unsupported by Apple; not recommended
Related
- NodeAutomation -- a modern Apple event bridge for Node.js; currently maintained, no free support
- SwiftAutomation -- a modern Apple event bridge for Swift; in minimal maintenance mode
- BrendanThompson/rb-scpt -- a third-party fork of rb-appscript that address build issues and other bitrot
- JavaScriptOSA -- a reference implementation of a full JavaScript OSA component; unsupported
- AppleEventBridge -- a modernized version of the objc-appscript framework; unsupported
- py-applescript -- an easy-to-use library for calling AppleScript handlers from Python (requires PyObjC)