We may earn an affiliate commission when you visit our partners.
Ardit Sulce

What is this course about?In a fast-growing world, Python programming is becoming a must-have skill. Whether you want to automate email sending, rename 10 thousand files at once, schedule SMS, auto-start the webcam, create APIs, auto-login to websites, scrape values, and many, other cool programs, this course has it all. In the process of learning to do all those cool programs, you will master Python and will create programs with ease.

Read more

What is this course about?In a fast-growing world, Python programming is becoming a must-have skill. Whether you want to automate email sending, rename 10 thousand files at once, schedule SMS, auto-start the webcam, create APIs, auto-login to websites, scrape values, and many, other cool programs, this course has it all. In the process of learning to do all those cool programs, you will master Python and will create programs with ease.

What will students learn to automate?One of Python's strongest points is to make our jobs easier and more fun by automating tasks in any area. You will learn to send emails with attachments to hundreds of CSV contacts, automate SMS messages, filter photos from your albums, detect faces in photos and videos, spin up and deploy quick web apps, extract data from websites and PDF files, convert between different file formats, clean text using natural language processing, and many many more. At the end of the course, you will be equipped with a strong set of skills and a good GitHub portfolio.

Who is this course for?This course is literally for anyone, from data scientists to students to doctors to musicians to new prospective programmers. With Python, you can do things from web scraping to generating music. There is always something that can be done with Python.

Do I need prior Python knowledge?Yes. You need to know Python basics that are variables, data types, functions, conditionals, and loops. This course does not cover those because you can find such content easily on YouTube.

Can we use the apps to build our own GitHub portfolio?Yes. You can publish the apps in your own GitHub account. However, it is recommended that you first change something from the code or even better, improve the code to make the apps really unique and yours. That will help your learning.

Do I have to follow the course in the given order?No, you can pick the topics you like and only watch the videos and do the practice activities only for those topics.

What if I get stuck?You will get stuck at some point. Every programmer does. When that happens, we've got your back. You can drop a question in the Q&A, and the instructor or the teaching assistant will answer your questions within the same day. You can also use the chat in the course Discord server to ask questions and chat with fellow students about Python.

What if I don’t like the course?That will likely not happen. But, if it does, you are covered by the Udemy 30-day money-back guarantee, so you can quickly return the course. No questions asked.

Does this course cover Python 2 or Python 3?Python 3.

What IDE/editor is used in the course?We use the Repl IDE which is becoming a gold standard nowadays due to the share and collaborate features the IDE offers which are especially useful when you are still learning However, you are free to use your favorite IDE.

Do I need Windows, Mac, or Linux to take the course?The operating system does not matter. You can even use a mobile device since the IDE we are using works in the browser.

Does the course expire?No. Once you buy the course, it is yours. You will get all future updates for free as well.

Enroll now

What's inside

Learning objectives

  • Learn to use python to automate web scraping, video processing, chatbots, and hundreds of more tasks
  • Build a vast github portfolio of your own programs, which you will build during the course
  • Validate and improve your skills with independent python exercises
  • Be ready to apply for python jobs after finishing the course
  • Learn the latest python high-tech tools and packages
  • Learn python programming tricks as you build real-world programs
  • Get support from the instructor and the student community forum

Syllabus

Getting Started

This video gives a quick view of the course content. Learn what to do when you have issues with your code and have a clear view of what goals you can achieve by taking the course.

Read more

In this video, we will talk about how to access Replit.com, a cloud-based IDE with modern features that will improve your learning experience in this course.

Daily Python Projects

In this video, you will learn how to navigate the Repl directory, how to create a new Repl and write and run Python code in that Repl, how to install Python packages, how to create more Python files or other files in your Repl environment, and how to upload files in Repl.

Browser Automation and Web Scraping
Preparations

Now, we will start learning how to do web scrapping with Selenium. In this lecture, we will scrape text from a web page and print that text in the Python console.

If you are working on a local IDE such as PyCharm or Visual Studio Code and not on Repl like me, you need to add two extra lines to the code we wrote in the previous lecture. Here, I will show you what these additional lines are.

This lecture shows how to scrape a dynamic value from a web page using Python and Selenium.

This video shows how to write a Python script that does an automatic login in an online form by filling in the username and the password and then clicking on the Homepage.

This exercise asks you to make the script that we created previously better by scraping the value that is printed on the Home page of a website.

Here is how you can scrape a value from a website and print that value on the Terminal.

Your task in this exercise is to create a script that scrapes a dynamic value on a web page every two seconds and saves this value on a generated text file.

Sometimes you need a special command to delete practice text files from your Repl directory.

The script created in this video solves the exercise of scraping a dynamic value from a web page every two seconds and saving each value in a text file.

Solidify your Selenium skills by doing web scrapping and accessing an Online Retailer.

The script created in this lesson accesses an online retailer by going to its website, logging in, and clicking the "Contact Us" link.

Python is a great tool for downloading stock data. Here you will learn to download historical stock data for any company.

BeautifulSoup is a crucial web scraping library for Python. Learn to use it while scraping real-time currency rates in this video.

Accessing APIs | Building APIs
Getting the API Key

We will start learning about REST APIs and access certain APIs via Python.

Here is how to get news from an API using HTTP requests from the Requests library.

Here is how to access the current top headlines for a particular country via a news API.

Now you get to make some practice with accessing APIs and working with JSON data.

Here is the solution to the previous exercise. I will teach you how to write a script that accesses weather forecast data from a weather API and transfers them in a text file.

In this exciting lesson, you will learn how to build your own API. Specifically, it will be a REST API that serves data for currency conversion rate.

In this lesson, we will explore how we can through Python access data from Facebook profiles using the official Facebook API.

Let's learn how to use the LanguageTool API to make grammar corrections on a selected text.

Working with Computer Files and Folders

Here you will learn how to use the Pathlib standard Python library that interestingly is often seen as a substitution for the well-known OS library.

Pathlib has many practical uses in Python programming. One of them is changing the prefixes of all the files contained in a folder. This lesson teaches you how to do that.

In this video, we will write a script that renames specific files on a folder-name basis using Pathlib.

(Exercise) Rename All Files Based on Sub-Sub-Folders
(Solution) Rename All Files Based on Sub-Sub-Folders
(Exercise) Add Created Date to All Filenames in Folder
(Solution) Add Created Date to All Filenames in Folder
(Exercise) Change File Extensions
(Solution) Change File Extensions
Create Empty Files
Create Archive from Files
Extract All ZIP Files
(Exercsie) Search File in Computer
(Solution) Search File in Computer
Destroy files forever
Automating Emails

Learn to create a Python script that sends a single email from one email address to another email address. The libraries that we will be using are Yagmail and OS.

This exercise aims to improve the script created in the previous lessons so that it automatically sends an email every 60 seconds.

This lesson features the solution to the previous exercise that asked you to modify the script created in the earlier lessons so that it automatically sends an email every 60 seconds.

Learn how to send an email automatically at a certain time every day using Python.

Learn to schedule the execution of your script by uploading it on PythonAnywhere.

In this lesson, we will extract many email addresses from a CSV file and automatically send an email to each of them.

Here, you will learn how to send an email that contains an attachment via Python.

This exercise asks you to send an email with an attachment to a list of contacts stored in a CSV file.

Here you can see my solution on how to send an email with an attachment to each of the contacts stored in a CSV file.

In this video, we will write a script that reads a CSV file with different email records and sends an email with an attachment containing a specific text file corresponding to each contact.

For anyone who doesn't use Gmail, here is how to automatically send a plain Text Email from an Outlook or Hotmail account using Smtplib and Python.

Here, you will learn how to send a Rich HTML Email from Outlook or Hotmail using Python and the Smtplib library.

In this video, you will learn how to send an email containing an attachment from an Outlook or Hotmail account using Python.

Project: Stock Price Notifier

In this independent student project, you have to build a Python application that scrapes the stock price change percentage from a website.

The great thing about Python is that there are many ways to create the building blocks of an app that gives you the same output. Here you will find solutions provided by different students of this course.

Generating PDFs | Extracting Data from PDFs
Creating a PDF Document with Python
Generating a PDF from Excel Spreadsheets
Extracting Text from PDF
Extracting Tables from PDF
Exercise: Extract Table from PDF to Excel
Solution
Modern Python Tools

Many modern tools that assist Python have surfaced over the last years. Find out more about these tools in this section.

Two minutes are what it takes to create and publish this website with Python. Learn how that is possible by watching this video.

Did you know you can use Jupyter Notebooks as a cloud-based service? This is made possible by Deepnote.com. Learn how to use this service in this video.

Here, you will learn how to use Deepnote as a cloud-based IDE together with Notion, which has both great web and desktop applications for keeping notes.

Streamlit is one of the coolest Python frameworks for creating interactive web apps and data visualizations dashboards. This video reveals how to use this modern framework.

PythonAnywhere is another must-know tool for any Python programmer. Learn how to use this online service that gives you access to servers 24/7.

Web Apps and Desktop GUI Apps
Create and Publish a Flask Web App
Sentence Builder GUI App with PyQt6 (Intro to PyQt6)
Live Currency Converter GUI App with PyQt6
Advanced App with Dropdown Lists
Advanced GUI Layout
File Destroyer GUI App with PyQt6
Project: English Dictionary Desktop GUI App
Project Requirements
Project Solution
Working with Google Sheets
Opening a Public Google Spreadsheet with Python
Opening a Private Google Spreadsheet with Python
Get Rows and Columns
Get a Cell
Update a Cell
Update and Add a Column
Calculate Column Mean (Exercise)
Calculate Column Mean (Solution)
Listening to Cell Change
Image Processing

In this video, you will be introduced to OpenCV, also known as Cv2, a Python library that is used for image processing, capturing videos, and detecting objects in images and video as well.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers a wide range of automation tasks, from web scraping to email sending, which can be applied across various fields and professions
Emphasizes building a GitHub portfolio, which is highly valuable for showcasing practical skills to potential employers
Uses Repl IDE, a cloud-based platform, which eliminates the need for local software installation and allows for easy sharing and collaboration
Includes modern Python tools like Streamlit and Deepnote, which are useful for creating interactive web apps and data visualization dashboards
Requires prior knowledge of Python basics, such as variables, data types, functions, conditionals, and loops, which may be a barrier for complete beginners
Features the Selenium library, which may require additional setup for local IDEs, potentially adding complexity for some learners

Save this course

Save Automate Everything with Python to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Automate Everything with Python with these activities:
Review Python Basics
Solidify your understanding of Python basics before diving into automation. This will make the course material easier to grasp.
Show steps
  • Review Python variables, data types, functions, conditionals, and loops.
  • Complete online Python tutorials or exercises.
  • Write simple Python programs to practice fundamental concepts.
Read 'Python Crash Course'
Solidify your Python foundation with a comprehensive guide. This book provides a structured approach to learning Python and reinforces key concepts.
Show steps
  • Read the first half of 'Python Crash Course' to review the basics.
  • Complete the projects in the book to practice your skills.
  • Refer to the book as a reference guide throughout the course.
Review 'Automate the Boring Stuff with Python'
Reinforce your understanding of automation concepts with a practical guide. This book complements the course material and provides additional examples.
Show steps
  • Read relevant chapters from 'Automate the Boring Stuff with Python'.
  • Complete the exercises and projects in the book.
  • Adapt the book's examples to your own automation tasks.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Automate a Simple Task
Apply your knowledge by automating a simple, real-world task. This hands-on experience will solidify your understanding of the course material.
Show steps
  • Identify a repetitive task you want to automate.
  • Break down the task into smaller steps.
  • Write a Python script to automate each step.
  • Test and refine your script.
Document Your Automation Projects
Improve your understanding and share your knowledge by documenting your automation projects. This will help you solidify your learning and contribute to the community.
Show steps
  • Choose one or more of your automation projects.
  • Write a blog post or create a video tutorial explaining your project.
  • Share your content on relevant online platforms.
Contribute to an Open Source Automation Project
Deepen your understanding and gain valuable experience by contributing to an open-source automation project. This will expose you to real-world code and collaborative development practices.
Show steps
  • Find an open-source automation project on GitHub or GitLab.
  • Identify a bug or feature you can contribute to.
  • Submit a pull request with your changes.
Build a Web Scraping Tool
Master web scraping by building a tool that extracts data from a website. This project will test your skills and provide a valuable addition to your portfolio.
Show steps
  • Choose a website to scrape data from.
  • Design the tool's functionality and user interface.
  • Write Python code to scrape the data and present it in a user-friendly format.
  • Deploy your tool as a web application or desktop application.

Career center

Learners who complete Automate Everything with Python will develop knowledge and skills that may be useful to these careers:
Web Scraper
A Web Scraper extracts data from websites. This course, 'Automate Everything with Python', directly teaches web scraping using libraries like Selenium and BeautifulSoup. It provides hands-on experience in extracting various types of data from web pages and saving it to files. The course goes beyond basic web scraping to include dynamic content and automated logins. Much of the course is directly applicable to a web scraper's job duties. An individual wishing to become a web scraper should take this course due to its emphasis on practical skills and projects.
Python Programmer
A Python Programmer writes code in Python, often for a wide variety of tasks. This course, ‘Automate Everything with Python’, covers a wide variety of practical uses for Python, including web automation, file management, API interactions, and GUI creation which a Python programmer would find of use. The breadth of topics covered is useful practice for a variety of coding tasks. The course’s practical projects allow one to build a portfolio of diverse applications. A future Python programmer should take this course to expand their range of applied skills.
Automation Engineer
An Automation Engineer designs, develops, and implements automated solutions, often using scripting languages like Python. This course, with its focus on automating tasks such as web scraping, email sending, and file manipulation, is directly relevant to the skillset of an Automation Engineer. The course's emphasis on practical projects and building a GitHub portfolio prepares learners to showcase their automation skills. Learning to build APIs in the course is also useful for this role. An individual interested in becoming an Automation Engineer would benefit greatly from the course, as it provides hands-on experience with real-world automation challenges using Python.
Test Automation Engineer
A Test Automation Engineer automates the testing of software applications. This course, ‘Automate Everything with Python’, has many applications for someone wishing to enter the field, since it contains crucial skills for automating tasks in Python, such as web scraping for testing data, generating test files, and automating email notifications. The course's focus on practical automation using Python is a good fit with the daily tasks of a test engineer, who needs to write scripts to test applications. This course would be helpful as an introduction to automation tools.
API Developer
An API Developer designs, builds, and maintains Application Programming Interfaces. This course, ‘Automate Everything with Python,’ contains lessons on accessing and building APIs. This includes using REST APIs, accessing news and weather APIs, and even building a custom API for currency conversion, which is great practice. This course offers hands-on experience with various aspects of API development. The course's focus on practical projects helps API developers build a portfolio. An aspiring API developer may find this course particularly useful for its direct application to API interactions using Python.
Software Developer
A Software Developer builds and maintains software applications. The 'Automate Everything with Python' course helps build a foundation of programming skills using Python, and many tasks covered in the course, such as web scraping, API interaction, file management, and GUI creation, are often implemented by software developers. This course, by exposing learners to a range of automation tasks and tools, helps them to write well-rounded practical software. Someone who wants to enter software development should take this course in order to see a wide variety of Python applications.
Data Engineer
A Data Engineer builds and maintains data pipelines that are often automated. This course, 'Automate Everything with Python', introduces methods to automate extracting data from websites and PDF documents. The course also covers working with APIs, manipulating files, and processing data. These skills are directly applicable to a data engineer role, where efficiency and automation are key to gathering and processing large amounts of data. The course's focus on practical applications makes it valuable for those wanting to build a data pipeline. A future data engineer can benefit from the hands-on approach to automation in this Python course.
DevOps Engineer
A DevOps Engineer works to bridge the gap between software development and operations. This course, 'Automate Everything with Python,' may be useful for automating tasks that are part of the software development workflow, such as configuration management, deployment automation, and environment setup. The focus on practical automation with Python can assist in building a DevOps pipeline. A future DevOps Engineer may take this course to improve automated processes with practical Python implementations.
Full-Stack Developer
A Full Stack Developer works on both the front-end and back-end of web applications. This course provides a foundation in Python, a common back-end language, and teaches relevant skills in building APIs, scraping web data, and creating web applications with Flask. The skills learned, such as automating tasks and handling data, are relevant for efficient back-end development. The course also touches on front-end interactions with GUI app development. Someone who is seeking a full stack position would benefit from this course because they would see both the front-end and back-end in their projects.
Business Intelligence Developer
A Business Intelligence Developer designs and develops solutions for reporting and dashboards. This course, ‘Automate Everything with Python,’ helps by teaching Python automation, including web scraping, API interaction, and file management. These are useful for gathering data for reporting. While the course is not a direct fit, the automation skills learned in this course can prove useful. A future Business Intelligence Developer may find this course helpful to learn how to prepare data for analysis.
Systems Administrator
A Systems Administrator maintains computer systems and networks. This course, ‘Automate Everything with Python,’ may be useful for automating many of their tasks, such as file management, report generation, automatic email alerts, and checking system statuses. The course shows how to handle files, directories and even interact with files. While the course does not specialize in systems administration, it offers skills that can reduce manual repetitive tasks. A systems administrator may want to enroll in the course to boost their efficiency.
Data Analyst
A Data Analyst analyzes data to gain insights and make recommendations. The 'Automate Everything with Python' course may be useful for a data analyst by providing them with the ability to automate the collection, cleaning, and processing of data from various sources, including PDFs and APIs. The natural language processing included in this course helps analysts clean up text data, too. Though this course is not directly about data analysis, the automation skills taught in this course can help streamline gathering and preparing data for analysis. A data analyst might consider this as a supplement to their learning.
Robotics Engineer
A Robotics Engineer designs, builds, and programs robots. This course, ‘Automate Everything with Python,’ provides a basic understanding of how to use Python, which is used in robotics programming. The course teaches many useful skills, such as how to capture and interpret video and sensor data. While the courses don't directly teach robotics, these are important tools to work with. A future robotics engineer may find this course helpful as it provides many programming exercises.
Research Scientist
A Research Scientist conducts investigations in various fields. This course, ‘Automate Everything with Python,’ can be useful for automating data collection, analysis, and reporting. The course includes skills useful for gathering data from PDFs, APIs, and websites. The course's focus on automation makes it relevant for scientists who need to process and manage large datasets. A research scientist may find that the course helps them speed up some of their tasks.
Technical Writer
A Technical Writer creates documentation for technical products or services. This course, ‘Automate Everything with Python’, may be useful for automating documentation-related tasks such as organizing files, creating reports, and converting files between different formats. The course's focus on practical automation with Python is helpful for streamlining the workflow. The file management skills taught in the course may be helpful to a technical writer. A technical writer may find the tools taught in this course to be helpful.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Automate Everything with Python.
Provides a practical introduction to Python programming with a focus on automating everyday tasks. It covers topics like web scraping, working with files, and automating emails, which are directly relevant to the course. It serves as a great companion and reference guide throughout the course. Many find this book to be a useful reference tool.
Offers a fast-paced, thorough introduction to Python. While the course assumes some Python knowledge, this book can help solidify the basics and introduce more advanced concepts. It's particularly useful for those who want a more structured learning path. This book is commonly used as a textbook at academic institutions.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser