Hello, as part of porting one a product to Python 3, we are willing to port 
protobuf which is one of our dependencies.

Would a python 2.6 / 3.3 codebase be acceptable for merging upstream? Or 
would it have to support 2.4?

I ask because the effor to achieve both is quite different.

On Monday, March 14, 2011 2:45:26 AM UTC-3, Gregory P. Smith wrote:
>
> On Tue, Mar 8, 2011 at 9:05 AM, maxw <mwindi...@videotron.ca> wrote:
>
>> As far as I can tell, the python protocol buffer code is not yet
>> compatible with python 3.x.  I found a few messages in this discussion
>> forum indicating that some people had worked on this, but I saw no
>> pointer to actual code.  Are you aware of plans or projects (internal
>> to google or otherwise) supporting python 3.x?  If not, are there
>> known reasons blocking this?
>>
>
> We're not working on porting it to Python 3.x internally right now as we 
> are not yet ready to move our own codebase to Python 3. It does need to 
> happen and I'd like to see it done this year but I have not taken a close 
> look at it to see what it will take to do the port and I don't believe 
> anyone is currently lined up to work on it.
>
> At first glance I'd break the task down into the following steps:
>
> 1) Port the python code under protobuf/python to be clean for conversion 
> to 3.x using 2to3 and fix it up so that unittests pass on both python 2.4 
> and 3.1; Start with the inner most modules, doing one at a time. I'm not 
> sure how difficult this will be as 2.4 compatibility needs to be 
> maintained. We -might- actually need to fork these into a protobuf/python3 
> tree if keeping the code both sane while still compatible with 2.4 is too 
> messy.
>
> 2) Fix up the python code generator 
> protobuf/src/google/protobuf/compiler/python to support generating code for 
> 3.x.  I'd probably start by taking the easy route: adding a --python3_out 
> to protoc and treading python 3.x as a new language. It is possible to have 
> it generate code that passes 2to3 and works but that could be too much 
> pain; writing code dealing with unicode/str/bytes differences that works on 
> < 2.6 that also works right when passed through 2to3 can be a bit too "fun."
>
> 3) After the above is done and pure python 3.x protobufs are working and 
> passing all tests, porting the C++ wrapping extension module under 
> python/google/protobuf/pyext should be the easiest part.
>
> Any attempts you or anyone else can make on the above would be appreciated.
>
> I suspect it might be a lot easier if we can move the minimum supported 
> python version up to 2.6.
>
> -Greg  (g...@google.com)
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/protobuf/-/JHljHolEWo4J.
To post to this group, send email to protobuf@googlegroups.com.
To unsubscribe from this group, send email to 
protobuf+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en.

Reply via email to