Wrap Up GSoC 2021

LeoCumpli21
Published: 08/24/2021

The complete wrap up of my GSoC experience is here: Leo Cumplido GSoC 2021

Hi, I'm Leo Cumplido, an 18 year old data science student at the time I'm writing this. My Google Summer of Code (GSoC) 2021 has nearly come to an end. Here's a wrap up of what I did this summer working with Python Argentina, under the umbrella of the Python Software Foundation (PSF), on a project called PyZombis.

Quickly, PyZombis is an attempt to make an interactive notebook regarding python basics. The overall goal of this project is to make a quality, and free content, kind of MOOC for Spanish speakers. The platform where it is landed is Runestone. The topics covered go from python fundamentals, like basic data structures, flow control, and loops, to web scrapping, accessing APIs, web development, and more.

Milestones

I worked on three milestones:

1 - Fix Lessons 1 to 14, "revisiones" lectures, and add quizzes

Originlly, it consisted of fixing lectures 1 to 14, and quizes 1 to 14 as well. I completed this milestone before the first evaluation period, but then I kept adding issues as they arose. During this period I learned GitHub basics, Playwright for web testing, and pytest for testing python code, correct python formatting following PEP8 rules, and open source best working practices.

2 - Refactor Facebook API Lesson

During my second milestone I worked with APIs principally. Also, I made use of Brython as the python interpreter for some exercises. The thing that took me more time was adding pytest-vcr to mock the requests to APIs in the tests. Here's a gif of the web test for a challenge of the course. It was the most advanced test because to make it I had to mock the API calls, and to handle the dialog boxes that appear. The web test is automated with Playwright.
Most challenging test

3 - Add more complex exercises

This third milestone was about implementing new more complex exercises, as if they were challenges, to the course.

Project

Here you can consult all the issues I opened and solved.
GSoC 2021 PyZombis Project

Commits

Here are all the commits I made during GSoC
Commits

Left to do

The course may be ready for a beta, not massive launch. However, there's still work to do. For example:

  • Pygame lecture can be adapted using Brython. This idea is to be explored. Here's an example of a game made in Brython.




  • Now that the coding period has ended, I can say I accomplished my goal. Regarding code, I was able to lean and apply new tools quickly, like Playwright and Brtyhon. Regarding the overall open source project, I learned how to work on GitHub, how to apply a good work flow and how to approriately communicate with my working team.

    DJDT

    Versions

    Time

    Settings from gsoc.settings

    Headers

    Request

    SQL queries from 1 connection

    Static files (2312 found, 3 used)

    Templates (11 rendered)

    Cache calls from 1 backend

    Signals

    Log messages