Python @ Wave: April 19th Python Toronto Meetup

On April 19th, Wave hosted Python Toronto’s monthly meetup in our newly-renovated 6th floor office space.

Rob van Gennip, the Engineering Lead on Wave’s Invoicing team, started off the talks with an overview of how to log in Python. By taking a deeper look at log levels, handlers, and formatters available in Python, plus the various attributes that make up a ‘good’ log, Rob showed how meaningful logs can help developers better diagnose issues as they arise. You can view Rob's slides at

RVG giving a talk on logging with Python at #WaveHQ. #PythonToronto #Python #Pizza

A post shared by Wave HQ (@wave_hq) on

Nathan Duthoit, a member of Wave’s DevOps team, took us through the challenges of manually managing database credentials across multiple databases. By automating the process with a command that is both ‘sturdy’ (where everything should remain in a working state if a step fails) and ‘available’ (developers should be able to rotate credentials), Nathan showed us how managing database credentials can be a little less painful.

Ryan Wilson-Perkin, a software developer on the Platform team at Wave, highlighted some of the challenges of a RESTful platform. He described how these challenges have led Wave to begin experimenting with Graphene, a GraphQL library for Python. Then, using GraphiQL, a GraphQL schema tool provided by Facebook, Ryan showed how we can quickly build Graph QL schemas to provide robust responses.

Our last speaker, Stephan Behnke, was a new member to the Python community. He showed off a personal project: a program that performs natural language processing on movie subtitles, which he uses as a way to learn Python and the basics of natural language processing. He outlined where he wanted to go from there, highlighting the Python library as a helpful tool to use for more intensive natural language processing.

It was great meeting everyone who made it out, and we hope to see you all again at the next meetup!