Fearless Automation that Runs Anywhere with Python
- Track:
- DevOps, Cloud, Scalable Infrastructure
- Type:
- Talk
- Level:
- intermediate
- Duration:
- 30 minutes
Abstract
CI/CD Pipelines are an essential part of modern Software Engineering, for everything from hobby projects to professional teams. But, when things go wrong, the mixture of single-purpose code, proprietary runtimes and third-party plugins can make reasoning about issues incredibly difficult and reproducing them almost impossible. What we want instead are processes that can run consistently in any environment, making them easier to maintain and debug.
As a powerful cross-platform scripting language, Python might seem an obvious candidate. But, versioning and dependency management have typically stood in the way.
Building on recent improvements like per-script requirements (PEP 722), and modern project management tools like hatch
and uv
, this talk will demonstrate how to leverage Python to create automation that runs natively everywhere. In particular, we’ll show:
- How virtualenvs and modern tooling can handle everything from dependency management to managing Python versions
- How to leverage libraries to create cross-platform automation (and when to fall back on
subprocess
and the host environment instead) - How to structure your pipelines to run (almost) identically locally and in the cloud
While most directly applicable to DevOps workflows, we will discuss principles that can help any Python developer easily manage their environment and dependencies, and build pipelines to support their work.
For DevOps engineers, the aim is to avoid extra complexity and create clear, inspectable and maintainable pipelines by showing how much you can build with the tool you already have: Python!