ADD PYTHON3 SUPPORT
Name: Arpit Nandwani
Email: [email protected]
I’m a prefinal year undergraduate student pursuing B.Tech from Bharati Vidyapeeth’s College Of Engineering. I’m majoring in Computer Science. I reside in New Delhi, India (GMT +5:30).I started to code in C++ during my school and because of my interest in programming chose it for higher studies as well. During my sophomore year, I completed CS50 and was able to apply my knowledge of C and PHP to real world problems through its projects. I moved to Python due to its dynamic nature, easier syntax and implementation. Moreover, through use of Django and Flask, much more robust websites can be made. I’m also familiar databases like PostgreSQL and MySQL, cloud services like Azure and AWS and a bit of machine learning.
I usually work on Windows 10 or Linux like Ubuntu (XFCE and KDE), Antergos or Deepin depending upon the dependencies of the project. I’ve got a decent computer with a Intel Core I5, Gen 4 processor, 8GB DDR3 RAM and a dedicated 2GB NVIDIA 820m graphic card. I and am able to run multiple Virtual Machines simultaneously. For editor or compiler needs, I usually prefer Atom, Kate, Visual Studio or PyCharm.
Kodi’s main code base is in C++ though it contains custom libraries for the development of add-ons in Python. Kodi currently supports Python version 2.6 and 2.7. I wish to add Python3 support to Kodi codebase so that Third Party Developers are able to code in both Python 2 and Python 3.
• PHASE 1 – Update the C++ files with Python.h header files and the SWIG binaries to support Python 3.5
• PHASE 2 – Testing all Kodi built-in modules to check compatibility and documentation.
• PHASE 3 – Porting some of Kodi's main addons to Python 3
May 05 – May 15 : Community Bonding, understanding the code base and listing files that need to be changed
May 16 – May 31 : Busy with college semester exams
June 01 – June 14 : Changing the code to add compatibility for Python 2 (2.6 and 2.7) and Python 3 (3.5 and possibly 3.6)
June 15 – June 27 : Updating the custom SWIG bindings and adding the functionality to choose version based on the individual xml files in the addons.
June 27 – June 30 : First Evaluation
July 01 – July 12 : Developing a new addon and testing the Python 3 compatibility
July 13 – July 25 : Documentation, writing tests and testing code coverage
July 26 – July 28 : Second Evaluation
July 29 – Aug 14 : Porting Kodi addons to Python 3
Aug 15 – Aug 21 : Bug fixes and code clean up
Aug 21 – Aug 29 : Submission of code and final evaluation
HOW WILL IT AFFECT KODI
This project will help the third-party developers develop their plugins and scripts in Python 3 and the programs dependent on xbmc libraries to port to python 3 as well. Moreover, I wish to continue contributing to Kodi even after the summer of code and make it a complete solution for home entertainment. I wish to work on the kodi chromium browser sometime in the future too but given the amount of ideas, I feel it’s too big of a project for the summer.
I don't have any prior engagements in summer and can dedicate my entire time to the development of this project. I will be working 7 hours a day for 6 days a week so I'll be available for communications most of the time. I've already gone through some of the code and successfully did a test build on Windows. I might need a little time to understand the working of SWIG bindings but it's nothing I can't handle.