Warnung: Diese Möglichkeit ist sehr experimentell. Es ist bekannt, dass mehrere Elemente bis jetzt im Library Modus nicht funktionieren. Ein vorsichtiges Testen ist sehr empfohlen.

Die Lua Schnittstelle erlaubt es dir, Ansel von jedem Lua Skript aus zu nutzen. Dadurch wird Ansel als Library geladen und das Meiste der Lua API angeboten (Ansel ist ohne Titelzeile, so dass die Funktionen, die sich auf die Beutzerschnittstelle beziehen, nicht vorhanden sind)

Als Beispiel, das folgende Programm wird eine Liste aller Bilder in deiner Bibliothek ausdrucken:

 1#!/usr/bin/env lua
 2package = require "package"
 3package.cpath=package.cpath..";./lib/Ansel/lib?.so"
 4
 5dt = require("Ansel")(
 6"--library", "./library.db",
 7"--datadir", "./share/Ansel",
 8"--moduledir", "./lib/Ansel",
 9"--configdir", "./configdir",
10"--cachedir","cachedir",
11"--g-fatal-warnings")
12
13require("Ansel.debug")
14
15for k,v in ipairs(dt.database) do
16   print(tostring(v))
17end

Beachte die dritte Linie, die auf die Datei von libAnsel.so zeigt.

Beachte auch, dass der Aufruf, um Returns zu verlangen, eine Funktion, die nur einmal aufgerufen werden kann und es dir erlaubt, die Ansel Kommandozeilen Parameter zu setzen. Der Parameter :memory: zu --library ist hier sehr nützlich, wenn du nicht mit deiner persönlichen Library arbeiten willst.