2020
Composition over inheritance in Python π§π π§π₯¦
Python Pizza; Online - April 2020
Both inheritance and composition are tools for code re-use in object-oriented programming. I explained the different concepts inheritance and composition follow for modelling relationships between types. I demonstrated how we can refactor an application from my python-super blog post, that was based on cooperative multiple inheritance, to use composition instead to achieve a more flexible and robust design.
Code π» | Blog post π | Recording πΊ
2019
Introduction to automated testing with pytest
PyCon DE & PyData; Berlin, Germany β October 2019
I gave an introduction into automated testing in Python with pytest by live-coding on the earth project. We learned about pytest features for skipping tests, generating code-coverage reports, selecting tests with markers, generating tests for different parameters, and more.
Abstract π | Tutorial π | Recording πΊ
Advanced pytest
EuroPython; Basel, Switzerland β July 2019
My talk was centered around test suite customizations with pytest. I demonstrated how to automatically add markers to slow running tests, run only tests that use a fixture which can be specified on the CLI, generate test reports in a custom format, and automatically create GitHub issues for test regressions. I wrapped up my talk with using cookiecutter to create ready-to-publish Python packages from these customizations.
Abstract π | Recording πΊ
Customizing your pytest test suite
PyBerlin; Berlin, Germany β February 2019
I gave an introduction into automated testing in Python with pytest by live-coding on the earth project. We looked into developing automated tests, writing pytest plugins and explored ideas for test suite customizations, that can help teams manage a growing test suite.
My talk at PyBerlin was not recorded, however another version of this talk was live streamed on YouTube and the recording is now available on our Mozilla YouTube channel. I also wrote a tutorial based on this talk and published it here on my blog.
Abstract π | Tutorial π | Recording πΊ
2018
The challenges of maintaining a popular open-source project
EuroPython; Edinburgh, UK β July 2018
Maintaining open-source projects can be incredibly rewarding and fun, but it can also be quite frustrating. It involves so much more than writing code or merging GitHub pull-requests, and yet sometimes it feels like thatβs what most people think. I shared what it means to maintain a popular project like cookiecutter and gave practical advice for managing expectations of the community.
Abstract π | Deck π¬ | Recording πΊ
2017
Hi, my name is README!
Write the Docs Europe; Prague, Czechia β Sept 2017
A good README file briefly and concisely explains what your software does, how it can be installed and describes its API. Ideally it also provides information on the technical requirements, the license it uses and how the project is managed. How to get in touch to report problems and give feedback? Where can potential users find the Code of Conduct for your project? I provided examples for good README files and shared my thoughts on how documentation can help newcomers as well as more experienced users with your project and encourage them to engage with your community.
Abstract π | Deck π¬ | Recording πΊ
Hi, my name is README!
EuroPython; Rimini, Italy β July 2017
A good README file briefly and concisely explains what your software does, how it can be installed and describes its API. Ideally it also provides information on the technical requirements, the license it uses and how the project is managed. How to get in touch to report problems and give feedback? Where can potential users find the Code of Conduct for your project? I provided examples for good README files and shared my thoughts on how documentation can help newcomers as well as more experienced users with your project and encourage them to engage with your community.
Abstract π | Deck π¬ | Recording πΊ
Kickstarting projects with Cookiecutter
PyData Berlin; Berlin, Germany β July 2017
I gave an introduction to the cookiecutter open-source project, how to install it from PyPI, use its command-line interface to generate boilerplate code for different types of applications from project templates, and finally how to author template projects.
Abstract π | Deck π¬ | Recording πΊ
Testing Python Code with pytest
Weekly Python Chat; Online β April 2017
I was invited by Trey Hunner to give an introduction into testing Python code with pytest at the Weekly Python Chat live video chat event.
2016
What’s new in pytest 3.0
EuroPython; Bilbao, Spain β July 2016
I demonstrated new features, covered important bug-fixes, as well as backwards incompatible changes and deprecations of the pytest 3.0 release.
Abstract π | Deck π¬ | Recording πΊ
Cookiecutter - or what we can learn from templates
Python Glasgow; Glasgow, UK β Feb 2016
I shared my thoughts on using cookiecutter templates for kickstarting new projects and how templates help with on-boarding new team members.
2015
Cookiecutter: Come to the Dark Side!
EuroPython; Bilbao, Spain β July 2015
I spoke about my involvement in the cookiecutter open-source project, highlighted a range of useful cookiecutter templates, and demonstrated how to use the commmand-line tool to generate a kivy app for Android mobile devices.