Last Week of Open Source(Week 14 @ Encora Academy)

Uriel Martinez
3 min readDec 29, 2020

All good things come to an end and the Open Source phase was no exception.

There were two contributions left that I had to do by the end of the week, and I also had to compose my blog post about a tech topic.

This was a hard-working week from the beginning. I jumped from project to project looking for issues to contribute to. Fortunately, I found what I wanted.

This time, I decided to work in my main stack from two different projects. The first one was Pytype, a package for managing type-checking as Mypy does, but in contrast, it doesn’t require type annotations, instead of that, it infers types.

In Pytype, I had to add a .gitignore file for the output directory with no specific configuration, just a simple draft. Although this sounds easy, I learned a lot from it. I was asked to use a context manager, which I had used before, but until now I understood how it works. I also found that in order to contribute to google, you had to sign an agreement. It’s interesting how different projects had their own ways to handle contributions.

On the other hand, the last project that I contribute to was Pillow, a well-known library for process and managing images with Python. I was so excited about this one because I’ve been using this library for a long time.

I found an issue about adding a feature for retrieving the XMP metadata tags from image files edited in Lightroom. This issue reminded me that a few years ago, I used a function like this one for handling EXIF metadata. This was my opportunity to make something in return.

I had to read a lot about XMP tags, XML trees, and how to handle XML objects, and once I write the code, I threw my pull request, but there was something wrong… I had to write a test for my function.

I’ve never written a test, so I didn’t even know what to do. I had to read about Codecov, how to cover all your code with your tests, and so on.
But finally, I passed all checks, and I left my PR opened.

I probably had to wait a little time for my PR to be reviewed since a lot of people are on holiday.

And last but not least, I wrote a post about type-checking in Python which can be read here.

Conclusion:

I really enjoyed this phase. So far, it has been my favorite. It taught me about tools that I didn’t know and how to communicate and navigate throughout this tech world. Besides learning lots of things, I made contributions to several projects which –in all honesty– seemed out of my reach at first.

--

--