This hands-on course takes you from the fundamentals of Python through to building safe, reliable automation for real-world systems and infrastructure.
Some familiarity with programming concepts (in any language) is assumed.
By the end of the course, you will be able to use Python confidently to automate real-world systems and infrastructure tasks, progressing from one-off scripts to well-structured, reusable automation tools and services. You will understand core Python concepts and data handling, and know how to apply them to build automation that is readable, maintainable, and safe to run, with clear command-line interfaces, configuration management, logging, error handling, and support for dry-runs and repeatable (idempotent) operations.
You will have hands-on experience automating local and remote systems, interacting reliably with REST APIs, and exposing automation through well-defined service interfaces using modern Python frameworks. You will be able to choose appropriate libraries and design patterns for common automation problems—such as remote command execution, system monitoring, configuration generation, and producing automation artefacts—and combine them into tools that can be used confidently by yourself, shared with teammates, or extended by other systems and coding agents as your automation needs grow.
Day 1 introduces Python through hands-on examples, focusing on Python's core language features and data types needed to write clear, reliable scripts and small automation tools.
Python offers amazingly productive tools like Polars for working with different kinds of data. Day 2 gives a thorough introduction to analyzing and visualizing data easily:
Day 3 teaches you how to build reliable automation tooling in Python that an engineer or coding agent can extend safely:
Day 4 shows you how to turn the safe, structured automation tools from Day 3 into services with structured contracts suitable for team use, CI/CD and schedulers, and integration with other systems:
We are happy to offer on-the-spot problem-solving after each day of the training for you to ask one-on-one questions — whether about the course content and exercises or about specific problems you face in your work and how to solve them. If you would like us to prepare for this in advance, you are welcome to send us background info before the course.
Format:
Courses are conducted online via video meeting using Python Charmers' cloud notebook server for sharing code with the trainer(s).
Computer:
Hardware: a webcam and headset mic or quiet room. Preferably also multiple screens.
Software: a modern browser: Chrome, Firefox, or Safari (not IE or Edge); and Zoom.
Coding: we have a cloud-based coding server that supports running code and sharing code with the trainer(s).
Timing:
Most courses will run from 9:00 to roughly 17:00 (AEST/AEDT) each day, with breaks of 50 minutes for lunch and 20 minutes each for morning and afternoon tea.
Certificate of completion:
We will provide you a certificate if you complete the course and successfully answer the majority of the exercise questions.
Materials:
You will have access to all the course materials via the cloud server. We will also send you a bound copy of the course notes, cheat sheets, and a USB stick containing the materials, exercise solutions, and further resources.