Python for scripting and automation

Get more done in less time

Python is the Swiss army-knife of programmers. Learn how to leverage it for your automation and scripting needs!

In this practical course you will learn how to write ergonomic and reusable scripts and tools to interact with your system, manipulate files of various types (like PDFs), automate your workflows, and more.

Regardless of whether you're a network administrator, a data scientist, or a backend developer, this course will help you save dozens of hours that you're currently spending on mind-numbing, repetitive work.

Course length and format

Course length: 4 days (32 hours)

Format: All courses offered have a similar format. The teaching is done without boring slides, but instead through live-coding and demonstrations. During the exposition of new concepts or ideas, participants code along and solve small comprehension-check exercises. At the end of each section, participants are given small projects to work on, to verify their understanding, and to cement their learning.

Location: This course can be given remotely or on-site.

Course description

In the past, Python was often described to be “the second-best language for anything”. While Python is now the de facto standard in some domains, the versatility and general applicability of Python remains a blessing for everyone with access to a computer.

Combining its “beginner-friendly” syntax, its vast standard library, and the 400,000+ packages available on PyPI, professionals of all domains can use Python as a tool to expedite their work. This usually takes the form of scripts and command line interface (CLI) tools that automate and simplify all sorts of repetitive tasks.

In this course, participants will learn about the standard library modules that are commonly useful when automating workflows, as well as some popular and useful packages that allow participants to create command line interfaces (CLI) and text user interfaces (TUI). These CLI and TUI tools are essential in making sure that the automation solutions developed are easily reusable, and participants will also learn how to package these tools so others can make use of them.

By the end of the course, participants will have working knowledge in automatic common tasks across a number of different domains. On top of that, participants will be able to develop and maintain CLI and TUI tools that make their automation workflows more accessible and easy to use. Finally, participants will also be able to package and distribute their tools to other developers, both internally and to the general public.

Course syllabus

  • Using the command line and its common utilities.
  • Running commands from within Python with the module subprocess.
  • Manipulating the filesystem with the module pathlib.
  • Using Python to interact with APIs over the Internet.
  • Creating lightweight CLI tools with argparse.
  • Creating flexible CLI tools with Click.
  • Creating TUI tools with Textual.
  • Packaging and distributing CLI tools, TUI tools, and scripts, with uv.

If you would like to tweak the course syllabus to your needs, reach out to me and we will work something out. For example, the syllabus can be adjusted to accommodate teams with little Python experience or to focus on a particular area of automation.

Target audience and pre-requisites

This course is aimed at people with a basic understanding of the Python language. The course focuses on tools and techniques that are broadly applicable across all domains and industries, so it is relevant for all professionals, such as network and system administrators or data scientists.

Availability and pricing

Contact me for pricing and availability information.

About the instructor

Hi, I'm Rodrigo Girão Serrão from sunny Portugal 🇵🇹.

I'm a prolific Python author and speaker, with multiple books published independently and dozens of talks and tutorials given at the largest Python conferences in the world. I also blog frequently about Python and publish two Python newsletters: the mathspp insider and the daily Python drops 🐍💧.

I have extensive experience teaching people from all walks of life – from kids in school, to professionals in various industries, to retirees – and there is a clear consensus that my students enjoy my clear examples, the live-coding during my lessons, and most surprisingly: my quirky sense of humour.

Testimonials

Sofia Silva

What I take from my experience is that Rodrigo tries – and succeeds – in explaining concepts in the simplest way possible, which makes learning much easier. Additionally, he is interactive with the students and always available to provide exercises and any other information we may need. I really enjoyed my experience, and I am sure that many others will also have an excellent learning experience with Rodrigo.

Sofia Silva – Intro to Python course student

Guilherme Latrova

Rodrigo has a unique and very practical way of teaching, mixing different concepts and applying them with Python and this unique ability makes complex problems look easy by how Rodrigo approaches them.

Guilherme Latrova – Python speaker & blogger

Mike Driscoll

Rodrigo is a great teacher who excels at showing how different approaches to the same code work. Rodrigo is able to break down difficult problems into easy-to-digest pieces that will help you understand the problem AND the solution.

Mike Driscoll – Author of “Python 101” & other Python books

Will McGugan

Rodrigo is an excellent communicator of Python technical content. You can rely on him to thoroughly analyze code and algorithms, yet express his findings in a way that is digestible for beginner and experienced developers alike.

Will McGugan – Creator of rich & Textual

Schedule the course

Please contact me to schedule this course for your team.

Questions?

If you have any questions or inquiries regarding this course, please contact me and we'll sort everything out together.

Not what you're looking for?

Go back to see all training offerings or reach out to me if you want to discuss a custom training tailored for your unique needs.