Re: [Gegl-developer] Returning to python-gegl



On 12 February 2015 at 20:50, Jon Nordby <jononor gmail com> wrote:

On 12 February 2015 at 06:30, Joao S. O. Bueno <gwidion mpc com br> wrote:

Hi -

after several months I am taking back a look at my Python bindings for
GEGL,
which make use of gobject introspection.

The situation with gobject introspection is none but frustrating - maybe
one could use it, if he could live in #gobject on irc - but there seens to
be
no documentation resources wherever.

Moreover, it does not work very well,
whenever something is not available using the auto-generated bindings,
there is no workaround, but to make/request changes on the upstream
project
and wait for a new release.

That can be seen as a feature, it makes sure fixes go upstream, which makes
it work for every language supported by GI - not just with one particular
binding.

No doubt about that - if it is being used. But for a moment looking at the
state of lack of documentation, I thought it might have been given up.



Add to that things that simply stop working
(I just found out I can no longer instantiate a geglBuffer with the
gobject
introspection - and the solution in my package is a hack already to
workaround
the constructor failing in the past)

Due to bug in GI, or changes in GEGL?

Probably changes in GEGL - I will try to take a look this weekend -
I was already using a non-standard constructor as I said (maybe it was Sabo's
wrapper you mentioned in the other message. If so, that is broken now)



Moreover, the latest GEGL stable release is still built with introspection
off -
so people can't make use of the Python bindings without rebuildoing
GEGL themselves,
as all distros ship the package without the "gir"  files.

If we have not changed the default go be --with-introspection, we should do
that now. But yes, it will only work for GEGL 0.3+

But -- I may be wrong --- people may be firmly committed to gobject
introspection,
and it may be the future, and it is my fault not learning it right -
And this is the main motivation for this message:
Doo anyone believe/think/can explain/ if gobject introspection has a
future at all?


I think if we added testcases for consuming GEGL though Python/GI to
upstream GEGL we would catch (& hopefully fix) breakages early. If we
include the bindings library you have created in upstream GEGL to provide
more Pythonic syntax, we could also add testcases for that. We should then
ship it by default I think.

I don't see the GNOME ecosystem switching away from GI anytime soon. And
despite the pains (docs, bugs, annotations upstream), I do think the model
is better than hand-writing bindings...


There are tests in my module - possibly not many as there could be -
I'd like to keep the its git separated due to the Python packaging
ecosystem (and merging the histories would be a mess, I guess).
Do you think it could work as  a git submodule in GEGL?

  js
 -><-





--
Jon Nordby - www.jonnor.com


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]