coala GSoC 2016: Final Report


Before I start on the work summary I would like to thank:

  • Lasse for introducing me to coala and helping me with (almost) any problem I had during this GSoC.
  • Udayan for being a cool guy with good humor (if I say so myself) as well as a good mentor.
  • Mischa for helping me with functional python, decorators and excellent reviewing.
  • Fellow GSoC students that I met at Europython, Adrian, Adhityaa and Tushar for the awesome community bonding.
  • Max because he has dreadlocks. Also the meaningful life teachings and the cooking.
  • Last but not least Google for the sponsorship.

Work Summary

I have several pull/merge requests across the different coala repos which I will list here with links so you can check them for yourself.

Pull/Merge Request Description Status
coala/2198 Add external_bear_wrap decorator Merged
coala/2407 Modify the JSON spec used by the decorator Merged
coala/2452 Migrate some libs to coala-utils Merged
coala/2460 Bump version for coala-utils Merged
coala/2583 Add external bear tutorial Merged
coala-bear-management/3 Extend tool to support external bears Merged
coala-utils/5 Refactor from coala-decorators to coala-utils Merged
coala-utils/7 Migrate StringConverter from coala core Merged
coala-utils/15 Modification for backwards compatibility Merged
coala-utils/19 Revert changes in yield_once as a fix Merged
coala-utils/20 Add open_files context manager Merged
coala-bears/617 Extend tool to support conda packaging Pending


The most important part of the project was to be able to write bears with other languages. I can proudly say that it is now possible to write such an "external" bear.

Some other achieved goals are:

  • Bear creation tool
  • External bear proof of concept with tutorial

Some work left to do:

  • Merge packaging tool extension
  • Add Diff handling to external bears

Now that we have come to an end I can say that the toughest challenge by far was the code merging process since coala has a very strict reviewing workflow.

Wrap Up

So that is it for GSoC 2016. It was an awesome experience in which I learnt a lot of stuff (not only programming related) and I met a lot of cool people. I would definitely recommend at least trying to join the program. Worst case scenario, you will have contributed to an open source community which I have explained from the very first post of my blog why it is important.

That's it from me, feel free to pm me about any questions related to the project (and not only) on the coala gitter channel.