Attenzione: questa feature è molto sperimentale. E’ appurato che molti elementi non funzionano ancora nella modalità library. Un testing accurato è altamente raccomandato.

L’interfaccia lua ti permette di usare Ansel da qualsiasi script lua. Questo caricherà Ansel come una libreria e ti fornirà la maggiorparte delle API lua (Ansel è in configurazione headless, quindi le funzioni relative all’interfaccia utente non sono disponibili).

Come esempio, il seguente programma stamperà la lista di tutte le immagini nella tua libreria:

 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

Notare che la terza linea punta alla posizione del file libAnsel.so.

Notare inoltre che la chiamata al require restituisce una funzione che può essere invocata soltanto una volta e ti permette di impostare i parametri della linea di comando di Ansel. Il parametro :memory: impostato a --library è utile quando non vuoi lavorare sulla tua libreria personale.