On 15.06.2010 23:25, ext Hugo Parente Lima wrote:
I wrote what is supposed to be a PSEP to deal with Qt properties and python
properties, any comments are appreciated.
Hi, here's my take (sorry for the slight delay).
First, it's an excellent proposal and definitely in the scope of the
PSEP process. I made it a draft PSEP, gave it a title (you'd forgotten
an old one in your original text), edited it slightly, and uploaded it:
http://www.pyside.org/docs/pseps/psep-0102.html
The changes and the PSEP source can be most easily tracked in Gitorious:
http://qt.gitorious.org/pyside/pseps
Hugo, since you have the permissions to commit to Gitorious, you can
either edit the draft contents directly (or I can do it for you, after
agreeing with you about the changes, whatever you prefer).
Now my personal comments on the proposal:
In my opinion, the change is good and would go a long way in making the
API nicer and more Pythonic. There is, of course, a possibility for name
clashes in the present API (I suppose an exhaustive search hasn't been
made yet), and potentially in the future if Qt suddenly would decide to
add conflicting methods. However, I think either of these are unlikely,
and while the latter scenario would result in an ugly mess (either break
PySide backwards compatibility, or break name parity with Qt), maybe we
can safely assume that that won't be happening and not add any
hypothetical discussion in the PSEP.
However, I'm somewhat concerned about the proposed implementation scheme
and schedule. As Sivan and Luca already mentioned, the Qt-compatible
scheme should be still somehow provided in addition to the new one. Like
Florian described, both schemes can't fully co-exist simultaneously, so
some explicit switching method needs to be provided.
Also, I'm worrying about the schedule for our 1.0 release. Even without
new features, we still need quite a bit more testing and bug-fixing, and
I'd prefer getting a 1.0 release rather sooner than later already.
Having new, backwards-incompatible features in at this point would risk
delaying that.
Back in the day the elected API scheme was to provide two alternative
Python module names [1] for the different APIs. Do you still think this
approach would work for us? We could do the 1.0 release with the
current, largely PyQt-compatible API, and keep on maintaining that
(perhaps indefinitely), and simultaneously begin working on the new API
by implementing this PSEP and all the others still on the drawing board.
[1] http://www.pyside.org/docs/pseps/psep-0005.html
That way, we could have the best of the both worlds: make a timely
stable release, provide a stable API which we promise not to break, and
still be able to work on new features and the kick-ass API. :-)
Cheers,
ma.
_______________________________________________
PySide mailing list
[email protected]
http://lists.openbossa.org/listinfo/pyside