Hyperion hat geschrieben:
- mir zu wenig Doku

(Sonst würde man evtl. verstehen, wozu es kwargs
und das vardict in der setvars-Methode gibt!)
Dokus schreiben nervt

Aber zu deiner frage:
Die setvars() methode erlaubt es dem user, Variablen, die später im Template verfügbar sein sollen, zu definieren. Das optionale `**kwargs` argument erlaubt dabei keyword-arguments (sic): TemplateInstance.setvars(meineVariable="MeinVariablenInhalt")
- wieso postest Du die Demo Template Datei nicht auch?
Bittesehr (Ja, könnte natürlich etwas ausführlicher sein...

).
- wozu dient die Basis-Klasse mit dem häßlichen Namen "_SafeRender"?
Ursprünglich diente die Klasse zum "sicheren" rendern von Dateien und/oder Strings, womit man das werfen von Exceptions hätte ausschalten können (daher auch die Variable `raise_on_error`).
Das betrifft momentan aber ohnehin nur das laden der HDF konfiguration.
- wieso nutzt Du keine Properties an kritischen Stellen? Vielleicht überblicke ich auf die Schnelle nicht alles, aber ich sehe da für die "_"-Methoden keinen anderen Sinn.
Wie meinst du das?
- der import von neo_cgi erscheint mir überflüssig!
Unnötig ist dieser Import nicht, da neo_cgi die anderen Module `neo_util` und `neo_cs` bereitstellt (ich weiss selbst nicht wie...

)
Ein wenig Off-Topic: Gibt es konkrete Vorteile im Vgl. zu anderen Python-Template-Engines wie Mako, Jinja2 und Co.?
Meine erfahrung zeigte, dass Clearsilver selbst in F/CGI Skripten schneller als Mako/Jinja2 und co. ist. Wird in den nächsten tagen aber noch getestet. Mir persönlich gefällt einfach nur die klare, unverschnörkelte Syntax der Templates.
Edit: Habe mir mal ein wenig das Konzept von HDF angeguckt. Imho ist die Punkt-Struktur ja noch ok, aber wieso verwenden die kein JSON? Wäre doch imho angenehmer, als sich ein neues Custom-Format anzueignen...
Frag das die Entwickler von Clearsilver, Die nutzung von JSON wäre da vermutlich doch simmvoller gewesen

.