Sheila Kahwai is a Python developer from Nairobi, Kenya. She began her tech journey back in 2014 when she started pursuing a Computer Science degree. Eight years later, in 2022, she rediscovered her passion for tech after joining a coding Bootcamp.
As a student, she knew contributing to open-source was important but she didn't know why and where to start. When she came across the Outreachy internship program, she discovered that some of the most important applications being used are made possible by contributors no different than her. And this is when her open-source journey with JupyterHub began.
When she is away from her computer, she enjoys watching documentaries, trying out new recipes, and attending music festivals with her friends.
Connect with Sheila on Twitter: @sheila_kahwai
This talk targets developers who are interested in testing Python packages that use JupyterHub, or modular implementations in general. It is recommended for the audience to have prior experience with the Python language.
JupyterHub is a modular and extensible project, with components, like the proxy, authenticator and spawner, that can be easily replaced with alternate implementations. Testing the functionality of these components against JupyterHub is important and it requires various hub setups that can sometimes become complicated.
Each of these hub components and the hub itself define their own testing infrastructure, building everything from the ground up using the pytest framework. And some of this complex work is either repetitive across JupyterHub sub-projects, or under-specified for some of them. This sparked a need to abstract these common parts into a separate testing framework.
During the 3-month Outreachy internship round of 2022, I was tasked with creating a reusable JupyterHub Pytest Plugin. The goal was to provide importable testing utilities to make it easier for contributors to write tests for the various hub components.
This talk will cover details about: * How we identified the reusable hub functionalities across the jupyterhub repository and its components * The integration of the Pytest plugin into various JupyterHub sub-projects * How the community can use this pytest plugin to test their own implementations of the JupyterHub components * The impact of this project on the maintainability and continuity of the JupyterHub project