On 12-03-28 06:40 AM, Rob Reilink wrote:
> Hi,
>
> I'd like to help porting pyopengl to Python 3.
Great.
> I noticed there is already a Python 3 branch on launchpad made mainly
> using the 2to3 tool. However, I can imagine that this branch cannot be
> merged with the main branch since that would make pyopengl
> incompatible with Python 2. My suggested approach would be to use the
> 'use_2to3' flag of setuptools to make the source tree compatible with
> both python 2 and 3 as discussed here:
> http://packages.python.org/distribute/python3.html . The basic idea is
> that the 2to3 conversion (possibly with custom fixers) is done at
> build/install time.
IIRC we've already merged all of the Python 3 patches that have been
generated, and we already have 2to3 included in the setup.
> As I understood from a colleague of mine (Almar Klein) who had
> discussed porting to Py3 with Mike Fletcher a while ago, one of the
> issues was that the 'testsuite' that was used for testing PyOpenGl is
> also written in Py2 and thus needs porting before rigorous testing
> could be performed. With the proposed approach, the source code can
> still be tested under Py2 with the existing test suite. Until a proper
> Py3 test suite comes available, Py3 support could be denominated as
> 'untested'. The toolkit that we will be using PyOpenGl for (visvis,
> http://code.google.com/p/visvis/) will be ported by us and will as
> such be a basic test for PyOpenGL under Py3
That's basically where we are already. That is, we have a test suite
(OpenGLContext), which isn't likely to be ported to Python3 any time
soon, as it depends on lots of other modules, each of which I need to
port to Python3. Since they tend to be very heavily optimized and
"meta", they tend to take a lot of effort to port. PyOpenGL should, in
theory, work on Python 3, and it seems to from the testing that has been
done so far. OpenGLContext is *not* working on Python3, not so much
because it couldn't be done, but because I haven't prioritized it, and
I'm not likely to do so until I actually consider moving any code to
Python3 myself (I just installed Python3 on this machine to see if
PyOpenGL would install, it seems to, though with a warning from pip).
> I'd like to have suggestions on how to proceed in such a way that my
> efforts can eventually be taken into the main branch, such that the
> time spent by us (Sience Applied) will eventually be of benefit to all
> PyOpenGL users.
I'm quite willing to accept Python 3 patches that don't introduce too
much code-smell (there's going to be some code-smell, but I don't want
the whole code-base rewritten with "run on both Python 2 and Python 3
unmodified hacks"). As noted, we *should* have all of the current
patches integrated in bzr and the latest alphas.
Basically, propose clean patches that don't negatively impact Python 2
support and I'm very likely to accept them,
Mike
--
________________________________________________
Mike C. Fletcher
Designer, VR Plumber, Coder
http://www.vrplumber.com
http://blog.vrplumber.com
|