Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Python Automation Made Easy!
Rating: 4.1 out of 5(51 ratings)
672 students

Python Automation Made Easy!

Leverage Python to automate your infrastructure & accomplish administrative task
Last updated 12/2018
English

What you'll learn

  • Write Python code proficiently in a structured fashion
  • Identify the boundaries of a coding problem and spot the best libraries to solve it
  • Design and Implement a wide range of applications from simple stand-alone one-liner scripts to complex web applications depending on external services
  • Explore different tools used for the automation.
  • Understand enterprise automation with using python scripting.
  • Perform administrative tasks like user, database and process management using automation.

Course content

2 sections111 lectures16h 21m total length
  • The Course Overview4:35

    This video provides an overview of the entire course.

  • The Benefits of Using Proper Programmer Tools2:59

    Determine the power of programming tools and benefit from them in terms of code quality and productivity.

       •  Acknowledge human shortcomings at coding

       •  Explain how IDEs, and VCSs can help you code efficiently

       •  Enjoy the benefits of using proper programming tools

  • Installing and Configuring PyCharm4:34

    Discover PyCharm, a powerful and easy-to-use IDE which provides smart Python coding support and seamless integration with Git.

       •  Learn what PyCharm is; and why you should use it

       •  Install PyCharm on your platform

       •  Take a tour of major PyCharm features

  • Keep Your Work Warm (and Safe) Using Git8:31

    Learn about Version Control Systems which special focus on Git, a modern distributed VCS.

       •  Learn what VCSs are and how they work

       •  Meet Git and learn to work with it

       •  Create a sample Git repo

  • Setup of a Sample Python Project6:10

    Grasp how to use PyCharm and Git to setup and run a sample Python code project.

       •  Create project and init Git repository

       •  Write, refactor, run and debug code

       •  Commit changes to Git

  • Libraries: Never Reinvent the Wheel4:19

    Avoid losing time on low-level recurrent programming issues; focus on coding to solve high-level value-added tasks.

       •  Explore Libraries and what purpose they solve.

       •  Learn the benefits of using libraries

       •  Take a look at a simple library created in PyCharm

  • The Python Standard Library5:42

    Python standard library offers lots of modules that provide high-level utilities to accomplish common tasks (interacting with operating systems, handling dates and time, logging and so on).

       •  Learn the Python standard library.

       •  Meet the Python standard library modules

       •  Use the math module in your application

  • Searching for the Right Library to Do the Job3:46

    Determine the rationales that should guide the search for the best libraries solving a specific task.

       •  Define a scope for your problem

       •  Learn where to search for libraries

       •  Assess and compare libraries

  • Using Pip to Install Libraries5:18

    Learn how to use the pip utility to install new Python packages alongside the local standard library.

       •  Learn what pip is.

       •  Install pip on your platform

       •  Use pip to install the tqdm library

  • Using Virtualenv to Isolate Environments5:52

    Master how to use virtualenv to isolate the libraries that your code depends on, shielding it from unintentional system-wide library upgrades.

       •  Understand the risks involved in system-wide library upgrade

       •  Learn virtualenv as a solution for the problem

       •  Create a virtualenv from PyCharm

  • Logging7:03

    Discover Logging, which is a way to record application events that helps you with problem determination.

       •  Learn the Python loggers, handlers and log levels

       •  List of logging handler types

       •  Implement using code

  • Regular Expressions6:40

    What are regular expressions, which are a very powerful way to search for specific patterns in a string?

       •  Define regular expressions

       •  The re Python module

       •  Implement python code

  • Function Decorators and Context Managers6:47

    Determine how Decorators allow dynamic extension of functions behavior. Context Managers are a way to easily allocate/release transactional resources in a managed fashion.

       •  What are decorators

       •  What are context managers

       •  Implementation using code

  • Generator Expressions and Generators5:43

    In this video, we are going to learn about Generators and how they behave like iterators and help to lazily evaluate logic for producing a set of values that you can iterate on. Generator expressions are a short syntax to create generators on the fly.

       •  Define generators

       •  Define generator expressions

       •  Implement them using code

  • Magic Methods5:58

    Discover how Magic methods are a way to enrich your classes with the capability to emulate built-in Python types and structures, resulting in more Pythonic code.

       •  Define magic methods

       •  Showcase of magic methods

       •  Implement them using Pythonic code

  • Metaprogramming6:39

    Determine how Metaprogramming allows manipulation of code. We will focus on manipulating class instantiation via metaclasses usage.

       •  Introduce classes as manipulableobjects

       •  Define metaclasss

       •  Implement using code

  • Functional Programming7:15

    Understand how Functional programming allows you to write code as stateless evaluations of functions upon data, with the benefits of avoiding size effects and leaving input data immutable.

       •  Define functional programming

       •  Map, filter and reduce

       •  Implement using code

  • Pythonic Code Idioms5:35

    Study how Python native idioms helps you to write less code that runs faster and is more secure

       •  Define Pythonic idioms are

       •  Explore a few Pythonic code idioms

       •  Demonstrate code implementation

  • Walking and Filtering Folder Contents8:42

    Determine how Python scripting is very efficient when it comes to walk folders and manipulate their contents.

       •  Walk folders with pathlib

       •  Delete files and folders with pathlib and shutil

       •  Walk, filter and clean a messy folder using python.

  • Renaming Files and Folders Based on Regular Expressions12:24

    Discover how regular expression helps you to organize files and folders on your computer so that they obey a naming pattern.

       •  Learn to organize lots of files based on their names.

       •  Copy and move files with shutil.

       •  Organize photos of vacation using code

  • Detecting File Modifications Using Diffs and Hashes11:14

    Learn how hashes are a good solution to quickly understand if modifications have been made to a file set. If you need to drill down to what changes have been made, diffs are the way to go.

       •  What is a hash?

       •  What are diffs?

       •  Compare a set of text files using python code

  • Compressing and Decompressing Files8:53

    Study how File compression can be helpful, especially when you need to send big amounts of data through the wire.

       •  Why is data compression useful?

       •  The zipfile and zlib modules

       •  Code implementation of Compressing a directory tree into a zipped archive

  • Encrypting Files with PyCryptodome13:02

    Learn how to encrypt data in your applications since almost all modern network applications rely on strong cryptographic algorithms in order to protect data exchanged among parties.

       •  Introduction to public-key cryptography

       •  Install PyCrpytodome

       •  Encrypting a file using python code

  • Reading and Writing Files6:45

    In this video, you will learn how to read and write files using python.

       •  Compare and contrast text and binary files

       •  Explore context managers as file gatekeepers

       •  Code: read and write a binary file

  • CSV6:30

    Explore CSV file format and libraries. Also, learn how to read and write CSV file.

       •  Introduce the CSV format

       •  Explore libraries to work with CSV

       •  Code: read and write a CSV file

  • XML7:37

    Take a look at CSV file format and libraries. Also, learn how to read and write CSV file.

       •  Introduce the XML format

       •  Explore libraries to work with XML

       •  Code: Read and write an XML file

  • JSON and YAML7:36

    Explore JSON and YAML file format and libraries. After that, learn how to read and write JSON and YAML files.

       •  Introduce the JSON and YAML formats

       •  Explore libraries to work with JSON and YML

       •  Code: Read and write JSON and YAML files

  • Word DOCX10:00

    Learn about Word file format and libraries. Also, learn how to read and write them.

       •  Introduce the Word DOCX format

       •  Explore libraries to work with Word DOCX

       •  Code: Read and write a Word DOCX file

  • Excel XLSX9:33

    Study about Excel XLS which is the binary file format used by the Microsoft Excel application to store data.

       •  Introduce the Excel XLSX format

       •  Explore libraries to work with Excel XLSX

       •  Code: Read and write an Excel XLSX file

  • PDF8:14

    Learn how to read and write PDF file in python.

       •  Introduce the PDF format

       •  Explore libraries to work with PDF

       •  Code: Read, rotate, and merge two PDF files

  • Reading and Showing Images with Pillow6:25

    Images are worth a thousand words; therefore we use them a lot in our everyday life. Being able to read images from Python code opens up a whole new world of possibilities to manipulate them.

       •  What images really are

       •  Meet and install Pillow

       •  Code: Read and display an image

  • Cropping and Resizing Images6:45

    Sometimes the dimensions of images are not okay for printing it, or you might just want to remove some unwelcomed features in a photo.

       •  Introduce image cropping

       •  Introduce image resizing

       •  Code: Crop and resize an image

  • Basic Image Filtering6:26

    Pillow allows you to apply algorithmic filters to images, which helps identify, and exalt features; to either change image colors or apply special effects. Imagination is the limit!

       •  Introduce edges extraction

       •  Introduce image recoloring

       •  Code: Extract image edges and recolor it

  • Image Watermarking8:14

    When you publish an image anywhere on the Internet you might want to add it a proof of ownership so to avoid potential intellectual property theft.

       •  Introduce the importance of watermarking.

       •  Explore watermark techniques

       •  Code: Watermark an image

  • Taking a Screenshot3:32

    Sometimes you need to save the whole contents of your computer screen to an image, so that you can share that with others or preserve it for later usage.

       •  Define screenshots

       •  Explore the pyscreenshot library

       •  Code: Take a screenshot

  • Parsing QR Codes6:02

    QR codes are an easy way to embed information into an image that can be photographed and then automatically parsed in order to retrieve such information.

       •  Define the QR codes?

       •  Explore the zbarlight library

       •  Code: Read a QR code

  • Recognizing Faces in Pictures9:20

    Being able to identify human faces in static images or videos can be extremely useful for a variety of purposes.

       •  Introduce Face recognition

       •  Explore the face_recognition library

       •  Code: Identify faces in an image

  • Downloading Web Content to Your Local Host Using Requests11:35

    In order to interact with websites you need an understanding of the protocols and technologies that make up the World Wide Web and proper tooling to leverage its capabilities

       •  Introduce the World Wide Web foundations

       •  Explore the Requests library

       •  Code: Download a file from a website

  • Scraping Websites Content with Beautifulsoup13:27

    What if you just need to grab that little piece of information on a specific web page? Web scraping allows you to do that

       •  Explain the anatomy of an HTML page

       •  Explore the Beautifulsoup library

       •  Code: Scrape data from a website

  • Scripting Your Browser with Selenium10:26

    Selenium allows to emulate human interactions with graphical interfaces, including web browsers: you can use them to automatically interact with websites.

       •  Define a web browser?

       •  Setup Selenium

       •  Code: Emulate human interaction with a website

  • Working with APIs6:13

    APIs provide programmatic access to datasets and operations from an online service provider. They are based on the HTTP protocol and allow any HTTP-compliant device to interact with them.

       •  Define an API?

       •  Go through scenarios enabled by APIs usage

       •  Showcase famous APIs

  • Learning How to Interact with httpbin Test Service15:51

    Requests can be used to interact with APIs, but you need to know how HTTP works in order to do that.

       •  Explore a primer on HTTP

       •  Learn about the httpbin test service

       •  Code: Interact with httpbin using Requests

  • Fetching Cryptocurrencies Market Prices from the Coinmarketcap API10:02

    In order to use an API you need to understand how it works by reading its documentation and usage examples, and usually you need to ask for an authentication token.

       •  Learn the prerequisites to use an API

       •  Learn about the Coinmarketcap API

       •  Code: Retrieving current Litecoin price from the Coinmarketcap API

  • Retrieving Weather Forecasts from the OpenWeatherMap API with PyOWM Client14:45

    OpenWeatherMap is a weather observation and forecast service that provides a free-tiered web API. We will learn how easy it is to retrieve weather data from it using the PyOWM library.

       •  Define an API client SDK?

       •  Explore PyOWM: a client SKD for the OpenWeatherMap API

       •  Code: Retrieving current weather in Tokyo using PyOWM

  • Reading and Sending Emails with Gmail15:29

    Problem: Programmatically read your Gmail inbox and send an email to somebody.

       •  Setup your Gmail account

       •  Setup Gmail Sender

       •  Code sample

  • Tweeting a Positive Message to the World with Twithon8:25

    Problem: Programmatically publish a tweet on Twitter.

       •  Setup your Twitter account

       •  Setup Twithon

       •  Code sample

  • Tracking all of Your Personal Notes Using the Evernote API14:02

    Problem: Programmatically save some text and a picture to .Evernote then view them on the browser.

       •  Setup your Evernote account

       •  Setup the Evernote Python SDK

       •  Code sample

  • Watching for Topics on the Python Reddit RSS Feed7:52

    Problem: programmatically filter Reddit Python RSS feed in order to spot posts containing specific text.

       •  Parse RSS feeds

       •  Setup feedparser

       •  Code sample

  • Using Firebase Cloud Messaging to Send a Push Notification to Your Android Apps12:52

    Problem: programmatically send a push notification to a mobile app running on your Android smartphone.

       •  Install the mobile app and setup your Firebase account

       •  Setup PyFCM

       •  Code sample

  • Sending a Text SMS via Twilio with Twilio Client5:25

    Problem: programmatically send an SMS to a mobile phone number using Twilio.

       •  Setup your Twilio account

       •  Setup Twilio Python Helper Library

       •  Code sample

  • Backing Up on Dropbox Your Local Data Folders with Dropbox Client10:25

    Problem: save your files on Dropbox, then view them on your browser.

       •  Setup your Dropbox account

       •  Setup the Dropbox Python SDK

       •  Code sample

  • Introduction to Web Applications5:39

    Web applications are the easiest and most spread way to offer services because they rely on the World Wide Web.

       •  Define a web application?

       •  Understand how distributed systems used to be before web applications

       •  Showcase examples of web applications

  • Web Applications Fundamentals9:32

    Learn how a web app compares to traditional applications and what their typical structure is.

       •  Showcase the features of a typical web application

       •  Understand the request/response flow in web applications

       •  Design of a web application

  • Using MVC Frameworks7:53

    Web frameworks help you being productive at web development and Model-View-Control favors a clear separation of concerns in your web app.

       •  Define a web framework?

       •  Define the features of web frameworks

       •  Define MVC

  • Meet Flask and Django12:30

    Flask and Django are the two prominent web frameworks in the Python ecosystem.

       •  Introduce Flask

       •  Introduce Django

       •  Compare Flask and Django

  • Starting Up the Project10:24

    Install and setup Flask and Bootstrap.

       •  Take up a static website project

       •  Setup Flask and Bootstrap

       •  Lay out the project structure

  • Preparing the Static Pages11:42

    How to prepare page templates.

       •  Explore Jinja2 page templates

       •  Code sample

  • Coding the Flask Views17:21

    Code the request handlers (“controllers”) on the server-side. Think of them as the “C” of “MVC”.

       •  Explore Flask views

       •  Code sample

  • Creating a Protected Area and Handling User Authentication with a Credential For11:24

    Implement a user authentication form backed by an authentication mechanism.

       •  Demonstrate user authentication workflow

       •  Code sample

  • Testing the Website11:51

    Test both the server-side part and the client-side of the web application.

       •  Explore strategies for testing

       •  Code sample

  • How a Database Works12:01

    Learn how relational databases work and why they are useful.

       •  Define a database?

       •  Introduce the Structured Query Language

       •  Explore features of databases

  • SQLite, a Python-Friendly Database6:00

    Meet SQLite, a self-contained SQL database engine.

       •  Define SQLite?

       •  Install SQLite

       •  Interact with SQLite from Python

  • Creating and Querying a Sample Dataset on SQLite22:05

    Python offers a nice built-in module to work with SQLite databases.

       •  Introduce SQLite

       •  Code sample

  • Object-Relational Mappers: Mapping Database Tables to Objects7:22

    It is more productive to query databases using high-level object-oriented abstractions instead of running direct SQL statements: that’s where ORMs come into play.

       •  Define Object-Relational Mapper?

       •  Explore Django Object-Relational mapper

  • Exploring a Simple Data Model Through the Django ORM16:12

    Django offers an excellent ORM solution allowing to perform queries of arbitrary complexity.

       •  Setup the Django project

       •  Code sample

  • Designing the Data Model8:59

    The first thing that needs to be done when creating a REST API is thinking the resources (data entities) it needs to expose.

       •  Show API we want to create

       •  Define data entities and relationships

  • Designing the API Endpoints9:45

    Define URLs for the API endpoints and the permission grants on them.

       •  Explore the authentication and authorization model

       •  Define endpoints and methods specification

  • Coding the Django Models and Setting Up the SQLite Database16:35

    Generate the Django project structure, write the models and setup the database.

       •  Code sample: Project structure and models

  • The Django Admin17:12

    The Django admin is an easy tool to perform data entry for Django web apps.

       •  Define Django admin?

       •  Code sample: Setup Django admin and data entry

  • Coding the Django Views and Setting URL Routes27:33

    Write the Django views and expose them to URL endpoints.

       •  Code sample: views and URL routes

  • Putting It All Together and Testing with HTTPie11:51

    Test your API using the powerful HTTPie HTTP client.

       •  Define HTTPie?

       •  Code sample: Testing

  • Designing a Bot That Can Answer Questions About Cryptocurrency Prices7:40

    Chatbots are a program that responds to natural language in a way that it’s hard to tell whether they’re programs or humans. Let’s craft one answering questions about crypto prices!

       •  Introduce chatbots

       •  Explore high-level architecture

       •  Define services authentication

  • Bot Behavior and Endpoints17:50

    We want to design what questions our bot will answer to and what information it will provide back to requesters.

       •  Understand the requirements for bot behavior

       •  Introduce endpoints

       •  Code sample

  • Deploy the Bot on Heroku15:33

    We will host our chatbot on Heroku, waiting for incoming Facebook message events.

       •  Give an overview of Heroku

       •  Deploy the bot on Heroku

       •  Code sample

  • Bind the Bot to a Facebook Page and Test It16:47

    A Facebook Page is the graphical messaging interface for users: the page needs to be bound to a Facebook app, which will forward messages to the bot.

       •  Create a Facebook Page

       •  Configure communication with the bot

       •  Code sample

  • Installing Jupyter and Managing a Notebook7:24

    Jupyter is a web tool for fast code prototyping, supporting interactive data science.

       •  Introduce Jupyter

       •  Install Jupyter

       •  Code sample: Managing a notebook

  • Pandas Data Structures17:02

    Pandas is a Python library providing high-performance data manipulation and analysis tools. It is extensively used for data cleaning and manipulation.

       •  Define Pandas

       •  Explore Pandas data structures

       •  Code sample: Playing with Pandas data structures

  • Reading and Writing Datasets9:07

    Pandas offer excellent support for loading/dumping data from/to a variety of formats. Data sources can be local or remote.

       •  Read/write datasets with Pandas

       •  Code sample: Importing and exporting datasets

  • Cleaning and Manipulating Datasets17:07

    A common example of time-related datasets is financial data.

       •  Explore a financial dataset

       •  Code sample: Data wrangling

  • Visualizing Datasets22:11

    The easiest way to make sense out of a dataset is plotting it: visual representations help to easily identify features and patterns in your data.

       •  Learn Data visualization

       •  Explore Matplotlib and Bokeh

       •  Code sample: Visualizing plots

  • Building a Cryptocurrency Prices Dataset10:08

    Building a comprehensive dataset is the first step for good data exploration: we will collect data for at least 10 of the major cryptocurrencies.

       •  Explore Data sources for cryptocurrency data

       •  Code: Building the crypto dataset

  • Calculating Moving Averages of Crypto Prices12:57

    Moving Averages are indicators that help identifying macro price trends by dropping random price fluctuations over time.

       •  Understand SMAs and EMAs

       •  Code: Calculate SMAs and EMAs for cryptos

  • Better Visualizations for Crypto Prices15:13

    Japanese Candlestick plots are compact visualizations of prices over time. MACD is an oscillator that can be used as a trigger for buy and sell signals.

       •  Understand Candlesticks

       •  Explore MACD with Stockstats

       •  Code: Visualize candlesticks and MACD on crypto prices plots

  • Revealing Trends in Crypto Market21:16

    Let us calculate how cryptocurrency close prices correlate over time and test a portfolio composition.

       •  Understand Correlation matrix of crypto close prices

       •  Code: Explore crypto close prices correlation and seasonality

  • Test your knowledge

Requirements

  • Basic programming knowledge with Python scripting would be necessary

Description

Python is an easy to learn, powerful programming language with efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms. 

This is an easy to follow, practical approach course, designed to guide you in implementing real-world

automation in your enterprise using python. Initially you will be you will start with a deep-dive into Python software development basics, then you'll move on to write scripts to automate file system operations and file contents processing on your local host. Learn network automation & administration tasks with Python Fabric to automate the execution of web server with simple python programs. Moving forward you will also you will be creating users on multiple servers to manage users and then check the health of the Enterprise and then you will be performing automation tasks on the cloud infrastructure with python. Finally, you will leverage Python programming to automate server configuration and administration tasks. 

Contents and Overview

This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Python for Everyday Life start with a deep-dive into Python software development basics, then move on to write scripts to automate file system operations and file contents processing on your local host, then you will learn how to interact with web-based services such as websites and APIs in order to robotize the cool things that we do everyday - such as tweeting, posting to social networks, reading RSS feeds, etc. - moreover you will practice how to set up a web-based services yourself in the form of web applications and in the end you will learn how to analyze and visualize datasets in order to extract knowledge. By the end of this course you will have learned how to proficiently write structured Python code in a wide range of applications – from one-liner scripts to complex web applications – aiming at the automation of lots of common everyday life tasks.

The second course, Enterprise Automation with Python will start by introducing the modules and the tools we will be using and how to set up a python environment to perform automation tasks and to deal with file editors and IDE like Pycharm. The course will cover network automation tasks and administration tasks with Python Fabric to automate the execution of web server with simple python programs. Moving ahead, you will learn to create database servers with python and backup them. Also, you will be creating users on multiple servers to manage users and then check the health of the Enterprise and then you will be performing automation tasks on the cloud infrastructure with python. The course will make the most of Python libraries and modules to automate your infrastructure. Leverage Python programming to automate server configuration and administration tasks. By the end of the course, you will be able to efficiently develop your python skills making it an alternate automation tool from the major automation frameworks.The use cases in this course will help you to track the processes with high utilization on all servers and create web server via python code. So, now need not depend on Network Automation Tools like a puppet, Ansible, and chef and grab this course to make your daily work easy with automation and python modules which will help you to deliver the service more faster than before. 

About the Authors:    

Claudio Sparpaglione holds an MD in Computer Engineering from Università degli studi di Pavia, Italy, achieved in 2007. He later worked as software engineer and architect in various industries (Geospatial Application Systems development and integration, Web and Mobile Advertising, Telecommunications, Fashion Brand Protection).Claudio worked in London in 2014 for a UK start-up as a software engineer and in 2015 became CTO of an Italian start-up. He currently works for the largest Italian bank as application engineer and deals with innovation topics.

Claudio is a Pythonista with exposure to other languages (JavaScript, Java, and PHP). He’s passionate about the design and implementation of highly-scalable web systems and APIs, about cloud, mobile and scientific computing, and he’s fascinated by cryptocurrencies. Claudio is a Linux advocate and an active contributor to the open source software community: he’s the maintainer of the PyOWM Python project and contributes to projects such as Requests and Reactive Manifesto. 

Tomasz Lelek is a Software Engineer who programs mostly in Java and Scala. He is a fan of microservice architectures and functional programming. He dedicates considerable time and effort to be better every day. Recently, he's been delving into big data technologies such as Apache Spark and Hadoop. He is passionate about nearly everything associated with software development.Tomasz thinks that we should always try to consider different solutions and approaches to solving a problem. Recently, he was a speaker at several conferences in Poland - Confitura and JDD (Java Developer's Day) and also at Krakow Scala User Group.

Who this course is for:

  • This course is ideal for:
  • Python developers with basic knowledge of python.
  • System administrator or DevOps engineer at the enterprise who wants to facilitate the work through python and are looking for an alternative from major automation frameworks like Puppet and Chef