Summer of Code/2014/Port to Python3: Difference between revisions
| Line 35: | Line 35: | ||
Besides these functionalities, a “teacher of the month” will also be selected and that name will be displayed on homepage of each student, teacher and head. We are team of four working on this software. Technologies we are using include Django 1.5, HTML, CSS, LESS, JavaScript. | Besides these functionalities, a “teacher of the month” will also be selected and that name will be displayed on homepage of each student, teacher and head. We are team of four working on this software. Technologies we are using include Django 1.5, HTML, CSS, LESS, JavaScript. | ||
== About my project: == | |||
===== Project name: ===== | |||
Port to | Port to Python 3 | ||
===== Brief Summary: ===== | |||
Porting to Python 3, as is clear from the name, Sugar is currently using Python version 2.7 The process will start from basic part. I'll port all the dependencies of sugar core to Python 3 including toolkit and telepathy as Sugar and the activities are using them. After this, I'll work with core developer team to decide the strategy: writing Python 2/3 compatible source or a pure port. The remainder of the work will be to do the port of sugar core itself. Then I'll develop a robust test suite for all new code. The last steps will be to Port an activity to Python 3 and beautifully document the whole process. A plan for how to support Sugar as Python 3 and old sugar activities as Python 2 will be the biggest challenge. | |||
===== Need and technologies to be used: ===== | |||
I'm doing it for Sugar-build project There are many reasons to port Sugar to Python 3, not the least being its support for internationalization (unicode) is greatly improved over Python 2 (Very important as there are users in >100 languages). As Sugar is being used by a number of students, teachers and developers it is always advised to provide them with the latest features and don't stop the developers to use latest versions. Although it has been officially declared that Python 2.7 will be the last version of Python 2 and will receive bug-fixes for many years to come. But as the project is not in any panic, it's the right time to port. I'll be using Python, GTK3, github, unittest library etc. | |||
===== My Timeline: ===== | |||
As I have understood the work flow of project, I know what steps to follow and where to reach. Although I am coming here for the first time but I know about summer internships and being a student, I can handle to manage my deadlines. I have a good experience of working in a team | Pre - 5th May: | ||
Explore about dependencies of Sugar core, get into sugar code and talk to the mentors about whole structure to be followed, get more familiar with the project. | |||
6th May - 20th May: | |||
Plan the strategies clearing the outlines and get initial testing done on examples. | |||
Week 1: 20th May - 27th May | |||
Start porting dependencies. | |||
Week 2: 28th May - 3rd June | |||
Continue the work. | |||
Week 3: 3rd June - 10th June | |||
Show a demonstration. | |||
Week 4: 10th June - 17th June | |||
Test and make sure things are stable. | |||
Week 5: 17th June - 24th June | |||
Work with sugar core according to the plans made. | |||
Week 6: 24th June - 1st July | |||
Prepare for Mid Term evaluation. | |||
Week 7: 1st July - 8th July | |||
Testing the ported sugar core. | |||
Week 8: 8th July - 15th July | |||
Make robust test suites. | |||
Week 9: 15th July - 22nd July | |||
Refining and execution of tests. | |||
Week 10: 22nd July - 29th July | |||
Port an activity to Python 3. | |||
Week 11: 29th July - 5th August | |||
Document the process of porting activities for developers. | |||
Week 12: 5th August - 12th August | |||
Check the accuracy and remove bugs. | |||
Week 13: 12th August - 19th August | |||
Clean the code and continue improving. | |||
Week 14: 19th August - 26th August | |||
Prepare and submit code to google. | |||
===== Why I can complete within timeline: ===== | |||
As I have understood the work flow of project, I know what steps to follow and where to reach. Although I am coming here for the first time but I know about summer internships and being a student, I can handle to manage my deadlines. I have a good experience of working in a team. Moreover I am self motivated, very determined to use the best of my ability and to learn more. Regarding skills set mentioned there, I think I have a fair amount of Python knowledge to take this project forward. I have introduced myself to GTK3 which is a must too. Well, I personally feel that I can do it. | |||
===You and the community=== | ===You and the community=== | ||