What this book covers

Chapter 1, Let's Begin Our Automation Journey, presents some basic content that will be used all through the book. It describes how to install and manage third-party tools through virtual environments, how to do effective string manipulation, how to use command-line arguments, and introduces you to regular expressions and other methods of text processing.

Chapter 2, Automating Tasks Made Easy, shows how to prepare and automatically run tasks. It covers how to program tasks to be executed when they should, instead of running them manually; how to be notified of the result of a task that's run automatically; and how to be notified if there has been an error in an automated process.

Chapter 3, Building Your First Web Scraping Application, explores sending web requests to communicate with external websites in different formats, such as raw HTML content; structured feeds; RESTful APIs; and even automating a browser to execute steps without manual intervention. It also covers how to process results to extract relevant information.

Chapter 4, Searching and Reading Local Files, explains how to search through local files and directories and analyze the information stored there. You will learn how to filter through relevant files in different encodings and read files in several common formats, such as CSVs, PDFs, Word documents, and even images.

Chapter 5, Generating Fantastic Reports, looks at how to display information given in text format in multiple formats. This includes creating templates to produce text files, as well as creating richly formatted and properly styled Word and PDF documents.

Chapter 6, Fun with Spreadsheets, explores how to read and write spreadsheets in the CSV format; in rich Microsoft Excel, including with formatting and charts; and in LibreOffice, a free alternative to Microsoft Excel.

Chapter 7, Cleaning and Processing Data, presents techniques to deal with multiple sources of information and cleanup of data before processing it. You will learn how to batch process to speed up working with big amounts of data, including using specific data analysis libraries like Pandas.

Chapter 8, Developing Stunning Graphs, explains how to produce beautiful charts, including common examples such as pie, line, and bar charts, as well as other advanced cases, such as stacked bars and even maps. It also explains how multiple graphs can be combined and styled to generate rich graphics and show relevant information in an understandable format.

Chapter 9, Dealing with Communication Channels, explains how to send messages in multiple channels, using external tools to do the most of the heavy lifting. This chapter goes into sending and receiving emails individually as well as en masse, communicating through SMS messages, and creating a bot in Telegram.

Chapter 10, Why Not Automate Your Marketing Campaign?, combines the different recipes included in the book to generate a full marketing campaign, including steps such as detection of opportunity, generation of promotion, communication to potential customers, and analyzing and reporting sales produced by promotion. This chapter shows how to combine different elements to create powerful systems.

Chapter 11, Machine Learning for Automation, explains how to use the Machine Learning APIs from Google for text analysis, detecting a location of an image landmark, and extracting text from images. The chapter includes the creation and training of a model for detecting, based on text, which department an email should be assigned.

Chapter 12, Automatic Testing Routines, explores the write and execute tests to verify that code is behaving as expected. To do so, the test framework pytest is presented with common situations to effectively work with tests.

Chapter 13, Debugging Techniques, features different methods and tips to help in the debugging process and ensure the quality of your software. It leverages the great introspection capabilities of Python and its out-of-the-box debugging tools for fixing problems and producing solid automated software.