Seite 1 von 1

EVMS Python-Bindings

Verfasst: Montag 3. April 2006, 21:44
von modelnine
Wer schon mal mit EVMS-Scripting (in Python, mit subprocess) rumgespielt hat und frustriert war von dem ewigen Delay was das konsekutive Aufrufen des Kommandozeilen-Interpreters mit sich bringt (aufgrund der Ladezeit der Metadaten, welche jedes mal neu geladen werden), der wird

http://svn.modelnine.org/svn/evms-python

interessant finden. Das ist ein mehr oder weniger vollständiges (noch nicht ganz, aber morgen mit Sicherheit ;-)) Binding der gesammten appAPI.h von EVMS an Python. Es ist mit PyRex geschrieben, um besonders die ganzen Typumwandlungen (halbwegs) sauber in den Griff zu kriegen, und sollte sowohl unter x86 als auch AMD64 sauber laufen. Das einzige was das Programm annimmt ist dass auf der entsprechenden Plattform (unsigned) int = 32-bit und (unsigned) long long = 64-bit lang ist (was auf beiden die ich vorhin gesagt hab auf jeden Fall gegeben ist).

Ich werd im Laufe des morgigen Tages auch noch ein bissel mehr Beispielcode posten wie man die Bindings benutzt, aber wer zumindest schon mal EVMS direkt programmiert hat wird das Interface auch so benutzen können (es ist eine mehr oder weniger 1:1-Abbildung des C-APIs auf Python-Datentypen, das geht natürlich noch schöner, aber das mach ich in Python, und das ist die Sache die noch nicht fertig ist ;-)).

Achso, das ganze ist unter der GPL, wie EVMS auch.

Viel Spaß damit!

PS: Ich bin momentan noch am überlegen ob evms-python einen PyRex-Bug aufgedeckt hat, oder ob ich einfach falsch denke: eine Typ-Konversion von einem unsigned int zu einem Python-Integer sollte unter 32-bit (x86) Systemen PyLong_FromUnsignedLong benutzen, da int == long auf diesen Plattformen, und ein unsigned long nicht in ein python int passt/passen kann. PyRex erstellt jedoch stur für alle *int-Typen ein PyInt_FromLong() (was auch auf AMD64 Plattformen okay ist). Ich hab schon an die Mailingliste gemailt, aber hab von denen noch keine Antwort bekommen; der letzte Beitrag zu PyRex ist auch schon ein weilchen alt. ;-)

Und: wundert Euch nicht, die resultierenden Libs sind ca. 90kb groß; das kommt aufgrund des ganzen Codes den PyRex erzeugt; ich habs aber aufgegeben das Ding von Hand zu wrappen, da EVMS mit richtig ekligen Datentypen rumspielt.

Verfasst: Donnerstag 9. November 2006, 01:17
von MoR4euZ
JA!

hört sich intressant an auch wen ich nur die hälfte verstehe ;)

kennt wer einen aktuellen mirror damit ich mal staunen kann? :)

Verfasst: Donnerstag 9. November 2006, 20:22
von birkenfeld
Tja, ModelNine ist sozusagen klinisch netztot. Seit ein paar Monaten ist von ihm nichts mehr zu hören.

Verfasst: Donnerstag 9. November 2006, 23:00
von Python 47
birkenfeld hat geschrieben:Tja, ModelNine ist sozusagen klinisch netztot. Seit ein paar Monaten ist von ihm nichts mehr zu hören.
Schade eigentlich, er beherrscht die Sprache mehr als überdurchschnittlich und hat immer geholfen. Weiß jemand was mit ihm ist?

Verfasst: Freitag 10. November 2006, 00:27
von BlackJack
birkenfeld hat geschrieben:Tja, ModelNine ist sozusagen klinisch netztot. Seit ein paar Monaten ist von ihm nichts mehr zu hören.
Das aktuellste was ich im Netz finden konnte ist eine Mail auf der Bison Help-Mailingliste. Wenn man sich die Signatur anschaut, dann scheint er jetzt hier zu arbeiten: http://www.xencon.net/

Verfasst: Freitag 10. November 2006, 00:47
von MoR4euZ
BlackJack hat geschrieben:Das aktuellste was ich im Netz finden konnte ist eine Mail auf der Bison Help-Mailingliste. Wenn man sich die Signatur anschaut, dann scheint er jetzt hier zu arbeiten: http://www.xencon.net/
habe ich etwa deine Detektivinstinkte geweckt BlackJack? :D

Verfasst: Freitag 10. November 2006, 11:27
von BlackJack
Ich vermisse ihn halt auch ein bisschen. :cry:

Verfasst: Freitag 10. November 2006, 17:06
von Leonidas
BlackJack hat geschrieben:Ich vermisse ihn halt auch ein bisschen. :cry:
Kann ich gut verstehen, ich hab mir bei seinen Posts immer gedacht: "Juhu, gleich wirds interessant/lustig", wenn er wieder was geschrieben hat.

Verfasst: Freitag 10. November 2006, 21:40
von mitsuhiko
birkenfeld hat geschrieben:Tja, ModelNine ist sozusagen klinisch netztot. Seit ein paar Monaten ist von ihm nichts mehr zu hören.
Seit alturo die Server runtergefahren hat ist wohl auch sein XEN tot...