[Pygui] Native wrappers?

Greg Ewing greg.ewing at canterbury.ac.nz
Sat Dec 12 03:53:10 CET 2009


Dan Villiom Podlaski Christiansen wrote:

> Isn't the dependancy of Tkinter on a non-Python library?
 > I can image that Python depending on Python libraries would create
 > all sorts of nasty bootstrapping issues :)

Not sure what you mean by that. My point is that Tkinter is in
the stdlib despite requiring a library (tcl/tk) that isn't bundled
with all versions of Python and isn't necessarily available on
all systems. More recently there's sqlite.

> Or to put it another way; accessing Objective-C using ctypes is possible 
> in theory, but not in practice :)

Hmm. Maybe some of the chores of selecting the right functions
to call could be taken care of by a wrapper layer?

> I've begun implementing the Events module as an Objective-C extension;
 > although I haven't tested it yet, it seems doable to me.

The Events module is probably one of the easier ones, since the
Event class is pretty self-contained. Some other parts may be
trickier -- there are some places where I've made use of the
ability to subclass an Objective-C class in Python and override
its methods. You may need to do that as an extension type
wrapping an Objective-C subclass of the relevant NS class.

If you're interested, I could look into extending Pyrex with
some syntax for making Objective-C method calls.

> Would it be valid to only
 > support UCS-2 builds, or should both kinds of build be supported?
> 
> If supported, UCS-4 builds would incur a performance penalty:

I think dropping UCS-4 capability for this reason at this stage
would be premature optimisation. I can't really see passing strings
being a performance bottleneck in most situations.

-- 
Greg


More information about the Pygui mailing list