[Sugar-devel] [GSoC] Porting To Python3

Peter Robinson pbrobinson at gmail.com
Tue May 6 06:53:35 EDT 2014


On Tue, May 6, 2014 at 11:28 AM, Gonzalo Odiard <godiard at sugarlabs.org> wrote:
> I agree with Daniel.
> We can't break compatibility again now.
> The port from gtk2 to gtk3 was inevitable (needed to support touch devices,
> and because some libraries like evince)
> but at the time, required a huge amount of work,
> without apparent benefits for the users (an a few regressions)
> You need remember our code is not only Sugar core,
> but the hundred of activities with different grades of maintainer support.
> Then,  possible plan could be:
> * Research changes needed to make the code compatible with python 2 and
> python 3
> * Prepare a test mechanism (applicable to core and activities)
> * Research and if possible port telepathy-python to introspection. Bonus
> points if testing is possible.

I thought the whole point of introspection was to get rid of things
like telepathy-python. This was certainly the case with
gstreamer-python and number of other *-python bits that we use to use.
Ultimately it becomes a process of converting the telepathy code to
introspection not porting telepathy-python to introspection. All
telepathy-glib, t-farstream etc all support introspection now, note
sure about t-m-c currently.

> * Make core and toolkit compatible with python 2 & 3

Ultimately if the core/toolkit (I wouldn't both with the gtk2 TK) are
compatible with both then if gives people more flexibility.

Peter

> Gonzalo
>
>
> On Thu, May 1, 2014 at 9:42 AM, kunal arora <kunalarora.135 at gmail.com>
> wrote:
>>
>> So, I did some research and found that it would be best to port sugar in
>> the following way:
>>
>> 1) Resolve the dependency issue - mainly telepathy . Telepathy-python has
>> been deprecated , so what would be the best way to deal with this? Would it
>> best to just port it to python3 or something else?
>>
>>
>> 2)Port sugar-build to Python3
>>
>>
>> 3)Port Sugar-shell to Python3
>>
>>
>> 4)Create a new Sugar-toolkit-gtk3-python3 from the old one and also keep
>> the Sugar-toolkit-gtk3 for activities that haven't yet ported to Python3 and
>> slowly deprecate it with time as more and more activities shift to Python3.
>>
>>
>> How the porting would be done:
>>
>> 1) Choose a single module.
>>
>> 2)Port the tests carefully and if there is not full test coverage , write
>> some additional tests.
>>
>> 3) Update the code carefully to pass the tests.
>>
>>
>>
>> These links were and will be helpful as we can draw on the experience of
>> organisations who have already ported their codebase to python3.
>>
>> http://twistedmatrix.com/trac/wiki/Plan/Python3
>>
>> https://wiki.openstack.org/wiki/Python3#Port_Python_2_code_to_Python_3
>>
>>
>> Is there any other strategy which would be better?
>>
>> Any feedback/comments are welcome.
>>
>>
>> Kunal
>>
>> (IRC- curiousguy13)
>>
>>
>> _______________________________________________
>> Sugar-devel mailing list
>> Sugar-devel at lists.sugarlabs.org
>> http://lists.sugarlabs.org/listinfo/sugar-devel
>>
>
>
>
> --
> Gonzalo Odiard
>
> SugarLabs - Software for children learning
>
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel
>


More information about the Sugar-devel mailing list