
This video provides an overview of the entire course.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Problem: Programmatically read your Gmail inbox and send an email to somebody.
• Setup your Gmail account
• Setup Gmail Sender
• Code sample
Problem: Programmatically publish a tweet on Twitter.
• Setup your Twitter account
• Setup Twithon
• Code sample
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
Problem: programmatically filter Reddit Python RSS feed in order to spot posts containing specific text.
• Parse RSS feeds
• Setup feedparser
• Code sample
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
Problem: programmatically send an SMS to a mobile phone number using Twilio.
• Setup your Twilio account
• Setup Twilio Python Helper Library
• Code sample
Problem: save your files on Dropbox, then view them on your browser.
• Setup your Dropbox account
• Setup the Dropbox Python SDK
• Code sample
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
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
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
Flask and Django are the two prominent web frameworks in the Python ecosystem.
• Introduce Flask
• Introduce Django
• Compare Flask and Django
Install and setup Flask and Bootstrap.
• Take up a static website project
• Setup Flask and Bootstrap
• Lay out the project structure
How to prepare page templates.
• Explore Jinja2 page templates
• Code sample
Code the request handlers (“controllers”) on the server-side. Think of them as the “C” of “MVC”.
• Explore Flask views
• Code sample
Implement a user authentication form backed by an authentication mechanism.
• Demonstrate user authentication workflow
• Code sample
Test both the server-side part and the client-side of the web application.
• Explore strategies for testing
• Code sample
Learn how relational databases work and why they are useful.
• Define a database?
• Introduce the Structured Query Language
• Explore features of databases
Meet SQLite, a self-contained SQL database engine.
• Define SQLite?
• Install SQLite
• Interact with SQLite from Python
Python offers a nice built-in module to work with SQLite databases.
• Introduce SQLite
• Code sample
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
Django offers an excellent ORM solution allowing to perform queries of arbitrary complexity.
• Setup the Django project
• Code sample
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
Define URLs for the API endpoints and the permission grants on them.
• Explore the authentication and authorization model
• Define endpoints and methods specification
Generate the Django project structure, write the models and setup the database.
• Code sample: Project structure and models
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
Write the Django views and expose them to URL endpoints.
• Code sample: views and URL routes
Test your API using the powerful HTTPie HTTP client.
• Define HTTPie?
• Code sample: Testing
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
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
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
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
Jupyter is a web tool for fast code prototyping, supporting interactive data science.
• Introduce Jupyter
• Install Jupyter
• Code sample: Managing a notebook
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
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
A common example of time-related datasets is financial data.
• Explore a financial dataset
• Code sample: Data wrangling
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 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
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
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
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
This video provides an overview of the entire course.
In this video, we will see why we need automation.
Learn how to automate deployment
Know about automation in the era of microservices
In this video, we will get a quick overview about topology and prerequisites.
Learn about automation approaches
Learn how to achieve automation in the enterprise environment
In this video, we will look at how to install Python 3.
Install Python 3
Experiment with Python interpreter
In this video, we will look at how to install Python virtualenv.
Install Python pip
Download Python library
Use library from Python interpreter
In this video, we will look at installation of Netmiko Python module.
Install Netmiko
Learn something about Netmiko
In this video, we will learn how to configure multiple cisco devices via Netmiko.
Use Netmiko from Python
Create Python code for showing version of cisco device
In this video, we will learn how to gather information from cisco devices.
Perform more complex use case example
Use Netmiko to configure device
In this video, we will look at how to install Paramiko module.
Install Paramiko module
Perform use case of Paramiko
Connect to SSH using Paramiko library
In this video, we will look at installation of fabric module.
Learn what a fabric is
Install fabric Python library
Perform a simple example of fabric
In this video, we will use fabric module to connect to remote host.
Create deploy script in fabric
Use Git client from Python code
Handle unexpected errors
In this video, we will use Jinja with Python.
Install Jinja
Use Jinja template engine
In this video, we will learn what PyMySQL is.
Learn what PyMySQL is
Install PyMySQL module
In this video, we will learn how to create database and tables using PyMySQL.
Use PyMySQL to create database
Use PyMySQL to create table
In this video, we will learn about admin utilities.
Insert data to existing table
Delete data from table
Alter existing table
In this video, we will see how to use admin utilities to export and user management.
Create PyMySQL script to export MySQL database
Examine exporter users
In this video, we will create users using Python.
Use OS Python package to invoke Linux command
Create user
Use crypt Python package to encrypt password
In this video, we will start Python process using Popen.
Change password of existing user
Use TF-IDF
Use LDA
In this video, we will learn how to use Python program to add users from CSV file.
Show text as a vector
Transform text into vector of numbers
Use Word2Vect for transformation
In this video, we will look at how to install psutil Python module.
Define a psutil
Learn what can we achieve using psutil
Install psutil
In this video, we will create Python program to check the free disk space.
Find information about disc partitions
Find information about disc usage
Find information about disc io_counter
In this video, we will look at python program to check high CPU process.
Calculate CPU percent usage per core
Find out about CPU statistics
Find out about CPU frequency
In this video we will look at python program to diagnose network.
Calculate net IO counters
Find out net addresses
Calculate net statistics
In this video, we will learn the installation of Boto module.
Define a Boto
Learn what can we achieve using Boto
Install Boto
In this video, we will set up authentication credentials from Amazon.
Configure boto3 client
Create Amazon credentials file
Create Amazon zone config
In this video, we will create EC2 instance using boto3.
Create instance with storage
Configure type of instance
Configure min and max number of instances
In this video, we will use Boto and S3 API.
Create buckets inside of S3 instance
Get and put bucket
Download file from bucket
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.