Tak is a utility set that allows 3rd party applications to interface with Lightroom. It comprises a Lightroom plugin and a server applet. The applet sits in the menubar (macOS) or the System Tray (Windows), listening for input which it forwards to the Lightroom plugin. The plugin expects incoming data to be Lua code which it executes, returning the result back to the tak server. The Tak server relays the result data back to the originating client.
The Tak server applet runs TCP, Websocket and HTTP servers. The HTTP server serves html pages from a document root folder – ~/Tak/htdocs – which can send and receive data to and from Lightroom via the Tak server applet. A simple Javascript library is included in the distribution for this.
The Lightroom plugin also sends events – dev parameter value and selection changes – to the server app which are forwarded to any WebSocket connections that may be open and connected to the server app so that applications can react to changes in the interface