PyConDE & PyData Berlin 2024

Streamlining Python Development: A Practical Approach to CI/CD with GitHub Actions
04-23, 11:05–11:35 (Europe/Berlin), Kuppelsaal

Crafting code for minimal dependencies and maximum portability is an art. This talk focuses on how continuous integration and delivery ensure project resilience to Python updates and changes in the packaging ecosystem. Setting up automation around your project enhances peace of mind, improves code maintainability, and facilitates collaboration.


The worst thing I dislike when dealing with code is encountering an error message indicating that well-crafted code, written a while ago in a language other than Bash, fails to run on the new system, new laptop, or some other operating system. It's an art to write code with minimal dependencies and maximum portability.

The complexity increases in larger projects. This is where Continuous Integration and Continuous Delivery (CI/CD) pipelines prove useful. CI/CD can help you keep the project alive even without you being around. Dependencies could be automatically updated, the code could be automatically tested, and delivered to the end-user, be it you or someone else.

This talk is about "YAML programming", which will help you write better Python code. The goal of the talk is to equip you with a set of building blocks to construct a CI/CD pipeline with GitHub Actions for your projects. Automating tasks as much as possible is highly beneficial.

We'll cover best practices and helpful tools for writing and debugging CI/CD pipelines. Writing YAMLs is time-consuming and error-prone; my goal is to help you spend less time on it and benefit faster from automation.


Expected audience expertise: Domain

Intermediate

Expected audience expertise: Python

Intermediate

Abstract as a tweet (X) or toot (Mastodon)

Learn how continuous integration/delivery boosts project resilience to Python updates and packaging changes. Automate for peace of mind, better code, and seamless collaboration.

See also: slides (5.3 MB)

I am a software engineer who codes for fun and profit. Proudly affiliated with the EuroPython Society, I am committed to share my knowledge at conference and actively contibute to Python community events. As a Pythonista I love crafting elegant and maintainable software. Beyond coding, I find joy in long-distance running and the thrill of speeding down ski slopes.