Proposal – Add Python3 Support

I wanted to make a separate post for the proposal

ADD PYTHON3 SUPPORT

Name: Arpit Nandwani
Email: [email protected]
GitHub: https://github.com/arpitn30
LinkedIn: https://www.linkedin.com/in/arpitnandwani/

PERSONAL INFO
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.

INTRODUCTION
I’ve been using Kodi Media Centre for over 4 months now for my media centre needs in Linux. I’ve contributed a bit in Fossasia Open Event Server. I got to work on Python, Flask, PostgreSQL and Redis Server with them. Moreover, even though I knew the basics about git, I was able to learn advance git functions like rebasing and squashing. I’ve worked on projects like creating a brick breaker game or a deleted photos recovery software in C, implemented some ciphers, tries and programmed a basic server. In Python, my projects include mini scripts like a spider to crawl and search keywords on a website or a program to fetch episode titles from Wikipedia and rename them locally. I’ve also built some websites in PHP and Javascript as part of my own projects or internships. One of them is hosted on http://pocketlibrary.azurewebsites.net . Me and my team has also been selected for Smart India Hackathon organised by Govt Of India and we’ll be using React Native and Python to build an IOT embedded system. All of my work can be found on GitHub.
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.

PROJECT DETAILS
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.

PHASES
• PHASE 1 – Convert all the Python 2 files to support both Python 2 and Python 3 USING Python Future Modules
• PHASE 2 – Update the C++ files with Python.h header files and the SWIG binaries to support Python 3 or by using doxygen.
• PHASE 3 – Testing and Documentation

TIMELINE
(To Be Discussed with mentors)

MENTORS