70+ Python Projects For Beginners, Intermediate And Experienced Developers

70+ Cool, Unique, Mini and Interesting Python Projects For Beginners, Intermediate And Experienced Developers with Source Code

Building hands-on projects will help you gain practical coding skills. One step at a time, you’ll be putting your theoretical knowledge to use and build an impressive portfolio. If you are an experienced Python Developer, You might have heard as well as searched for this question “What are some python projects for beginners & those at an intermediate skill-level and Which projects should I work on to gain real time experience?” (when you're a beginner) in different communities like GitHub, Reddit or Quora.

In this post, you’ll find example projects with step-by-step instructions, tutorials and source code that’ll take you through building some cool, interesting, unique and real-world Python projects, from scratch. 

A Curated List of Python Projects for Beginners, Intermediate & Advanced Level Programmers are
Curated from Github & Web, A 2021 List of Python Projects for Beginners, Intermediate & Advanced Level Programmers with Source Code
πŸ‘‰ Bitcoin Price Notifications using Python

Summary of this Project: In this Project, You'll learn about HTTP requests and how to send them using the requests library. You will also learn about webhooks and how to use them to connect your Python app to external services like phone notifications.

πŸ‘‰ Crawl Wikipedia Pages with Python

Summary: Learn how to build a basic web-scraping app with python that scrapes Wikipedia pages and follows random links endlessly to simulate a web crawler. You can expand this project into many creative ideas, for example, you can use it to verify links on your websites by crawling all of them and notifying you when a dead link is found.

πŸ‘‰ Python Face Recognition Project

Project Summary: This is a fun intermediate python project. This Face Recognition project detects faces and places a box around it and identifies the face based on those in a given list. It works by analyzing a photo and comparing it to the faces in the list to determine if it’s a match or if it’s an unknown identity. A few python modules are required to download in order to complete this project and have it run properly.

πŸ‘‰ Blog Web Application Project using Python

Project Summary: If you’ve ever wanted to create a blog from scratch, this project is for you. Corey Schafer‘s tutorial series utilizes Python’s Django framework for the back end development. This is among the more difficult projects on this list but each part of the project is explained thoroughly. Not to mention, if you make any mistakes you can always refer to the project source code.

πŸ‘‰ Amazon Price Tracker Project

Summary of this Project: This python project tracks the price of an item on Amazon and emails you when the item has had a reduction in price. It does this by scraping the product information from the web page for the price of the item and compares it to whatever price you choose (The price you’re willing to buy the item for). If the price of the item falls below the value that you set, it sends you an email with the new price as well as the description of the item. 

πŸ‘‰ Face Clustering with Python

Project Summary: In this project, you'll write two Python scripts: One to extract and quantify the faces in a dataset and another to cluster the faces, where each resulting cluster (ideally) represents a unique individual

πŸ‘‰ Detecting Fake News with Python

Summary of this Project: In this Project, You will train a dataset of shape 7796×4 on news.csv. You’ll mainly use two things- a TfidfVectorizer and a Passive Aggressive Classifier. A TfidfVectorizer turns a collection of raw documents into a matrix of TF-IDF features. And a Passive Aggressive Classifier is an online learning algorithm that stays passive for a correct classification and becomes aggressive when there’s a miscalculation.

πŸ‘‰ Build a Simple Blockchain in Python

Prerequisite: You should be comfy reading and writing some basic Python, as well as have some understanding of how HTTP requests work, since we’ll be talking to our Blockchain over HTTP.

πŸ‘‰ Memory Puzzle Game

Summary of this Project: Build a Python game with PyGame that will test your memory. You'll learn about nested for loops and the pygame library. 

πŸ‘‰ Python Full-Stack E-Commerce Project

Summary: This is probably one of our favorite Python project on this list. If you are curious in building an eCommerce website like Amazon or Shopify or Walmart or Flipkart, and wants to sell your own products directly to your customers, then now you can do it. The tutorial attached with this project will take you step-by-step through building a full-stack eCommerce project using Python and Django. This is one of the hardest projects on this list so thankfully Dennis has provided the source code.

πŸ‘‰ Scrape StackOverFlow with Scrapy and MongoDB

Project Summary: In this project, you will take a deep dig to build a scraper for an actual freelance gig where the client wants a Python program to scrape data from Stack Overflow to grab new questions (question title and URL). Scraped data should then be stored in MongoDB. It’s worth noting that Stack Overflow has an API, which can be used to access the exact same data. 

πŸ‘‰ Rock, Paper, Scissors with Python

Summary of this Project: A fun project where you will build an interactive Python game. It's a very basic game of Rock, Paper, Scissors but will introduce you to some valuable Python basics such as conditional statements, while loops and the random Python library.

πŸ‘‰ Caesar Cipher 

Summary: Implement a Caesar cipher, both encoding and decoding. The key is an integer from 1 to 25. This cipher rotates the letters of the alphabet (A to Z). The encoding replaces each letter with the 1st to 25th next letter in the alphabet (wrapping Z to A). So key 2 encrypts "HI" to "JK", but key 20 encrypts "HI" to "BC". This simple "monoalphabetic substitution cipher" provides almost no security, because an attacker who has the encoded message can either use frequency analysis to guess the key, or just try all 25 keys. 

πŸ‘‰ Web Scraping with Selenium

Summary of this Project: You'll learn how to use webbrowser to open web pages, requests to download files from the internet, BeautifulSoup to parse HTML and selenium to control your web browser.

πŸ‘‰ How to Build a Chat App using Network Programming Fundamentals

Prerequisites: Basic python experience is enough as the tutorial is an introductory guide to network programming only implementing the basic features for any chat app. You will also need the Python program installed on your computer and an IDE of your choosing.

πŸ‘‰ Build a Social Media like Twitter using Python, DJango, ReactJS & More

Project Summary: If you’ve ever wanted to build a social network then this is the Python project for you. Coding Entrepreneurs walks you step by step through this full-stack web app build using Python Django and React JavaScript. The entire tutorial is on the single video and if you view it on his channel, he’s timestamps in the video description.

πŸ‘‰ Grocery Store Project using Python and Other Programming Languages

Summary: This is a great tutorial series by codebasics that walks you through a complete full-stack grocery store management application. The project uses Python for the back end, HTML, CSS, and JavaScript for the front end, and MySQL for the database.

πŸ‘‰ How to Make a Music Player in Python

Prerequisite: A basic understanding of Python is advised as the code is not fully explained. However the pygame module makes the code very simple and you should be able to follow along easily.

πŸ‘‰ How to Build a Python Directory Tree Generator for the Command Line

Summary of this Project: In this project, you’ll build a command-line tool to list the contents of a directory or folder in a treelike diagram. There are already several mature solutions out there that perform this task. You’ll find tools like the tree command, which is available on most operating systems, plus other tools, like treelib, dirtriex, and so on. However, figuring out your own solution to this problem would be a good learning exercise.

πŸ‘‰ Create a Guessing Game in Python

Project Summary: This is a good place to start if you are new to the Python programming language as this tutorial is aimed at the beginner and explains the code line for line. You will need the Python program installed on your computer or you can use an online IDE like Repl.it and run everything in your browser.

πŸ‘‰ How to Build a Reddit Bot using Python

Summary: In this beginners level python project, you are going to build a simple Reddit Bot that will do two things: It will monitor a particular subreddit for new posts, and when someone posts “I love Python”, it will reply “Me too!”. And secondly, It will monitor all the comments to recent posts, and if it finds one that says “I hate Python”, it will post a link to /r/learnpython and ask the commenter to ask a question there.

πŸ‘‰ How to Create and Control Music with Python

Prerequisite: A bit of Python experience is ideal, but you should be able to keep up even without it. You'll do everything from your browser so no Python set up is required. You can create a free account on Repl.it to save and share your code.

πŸ‘‰ Detect Parkinson’s Disease with XGBoost and Python

Summary of this Project: In this python project, As per the tutorial, You will use the UCI ML Parkinsons dataset and use XGBClassifier from xgboost to build a model that can accurately detect the presence of Parkinson’s disease in a person. The libraries covered in this project will be scikit-learn, numpy, and pandas.

πŸ‘‰ Mining Twitter Data with Python

Project Summary: This Project is divided into seven parts. Starting from Collecting Data, Text Pre-processing, Term Frequencies, Ruby and Term Co-Occurrences, Data Visualisation Basics, Sentiment Analysis Basics, Geolocation and Interactive Maps & More.

πŸ‘‰ Predict Wine Quality with Python & Machine Learning

Summary: In this Python machine learning project, you’ll learn how to use Scikit-Learn to build and tune a supervised learning model! You'll be training and tuning a random forest for wine quality based on traits like acidity, residual sugar, and alcohol concentration.

πŸ‘‰ Build a Contact Book With Python, PyQt, and SQLite

Prerequisite: Some previous knowledge of GUI programming with Python and PyQt will help but you should be fine even without it. The tutorial provides resources which further explain these areas to help you clearly understand them.

πŸ‘‰ Tic Tac Toe Game using Python

Prerequisite: Knowledge of basic concepts of Python and pygame(a library of Python) is required.  

πŸ‘‰ Create Basic GUI Calculator using Python

Summary: You'll learn how to create a GUI with the tkinter Python library as well as working with simple mathematical calculations.

πŸ‘‰ Build an Alarm Clock with Python

Summary of this Project: You'll learn how to create an alarm clock with Python using libraries such as tkinter to create a GUI, winsound to generate sound from your Windows machine and datetime to keep track of current time.

πŸ‘‰ Build a Bulk File Rename Tool with Python and PyQt

Summary of this Project: In this tutorial, you’ll build a bulk file rename tool to automate the process of renaming multiple files in a given directory in your file system. To build this application, you’ll use Python’s pathlib to manage the file renaming process and PyQt to build the application’s graphical user interface (GUI).

πŸ‘‰ Build a Custom Django User Authentication Application using JWT's provided by the Django-rest-framework

Prerequisite: Intermediate python experience is ideal but you should be able to follow along even if you're a beginner. You will also need the Python program installed on your computer and the pip package manager to easily install other additional dependencies.

πŸ‘‰ Find out How much Money you've Spent on Amazon

Project Summary: In this project, You’re going to analyze your Amazon data using a little Python programming. By the end of this project, you’ll have written fewer than thirty lines of code, and you’ll have figured out the total amount of money you’ve spent on Amazon, Found your most and least expensive orders, and your average and median order totals, Figured out how much you’ve paid in taxes, and your effective sales tax rate on Amazon and a lot more.

πŸ‘‰ Build a Distributed Streaming System with Apache Kafka and Python

Project Summary: In this Project, You are going to build a simple streaming application that streams a video file from our producer and displays it in a web browser. This project aims to showcase data integration and stream processing properties of Kafka.

πŸ‘‰ Scrape Real-Estate Properties With Python and Create a Dashboard With It

Project Summary: The goal of this project is to develop a tool that can be used to optimize your choice of house/rental property. This project collects data using web scraping tools such as Beautiful Soup and Scrapy. Creating Python scripts that interact with HTML is something that you should be exposed to as a data engineer, and web scraping is a great way to learn. 

πŸ‘‰ URL Shortener with Pyshortners

Prerequisite: This is a simple project but you will learn how to import and use other Python libraries. All you'll need access to a Python interpreter.

πŸ‘‰ Setting up Stripe Checkout and Email Subscription with Python and Flask

Prerequisites: To complete the tutorial, you'll need a Code Capsules and GitHub account. Programming-wise, the project is best suited for those with some prior Python and Flask experience but you should be able to follow along even without it.

πŸ‘‰ Watermarking Application using Python

Summary of this Project: Have some pictures you want copyright protected? Add your own logo or text lightly across the background so that no one can simply steal your graphics off your site. Make a program that will add this watermark to the picture. Optional: Use threading to process multiple images simultaneously. 

πŸ‘‰ Build a CRUD application with Flask and SQLAlchemy

Prerequisites: Basic python experience and a familiarity with HTML is ideal. You'll also need Python 3 installed on your computer and be able to install Python libraries through the Python package manager, pip.

πŸ‘‰ Dice Rolling Simulator using Python

Summary of this Project: You'll learn how to create a GUI with the tkinter Python library as well as working with simple mathematical calculations.

πŸ‘‰ Lyricize: A Flask App to Create Lyrics using Markov Chains

Project Summary: By the end, you’ll have created your own version of Lyricize, a small app that uses an artist or band’s lyrics to generate “new” similar-sounding lyrics based on probabilities.

πŸ‘‰ Mad Libs Game

Summary of this Project: A basic but fun game that introduces you to the basics of Python. It is also a good game to expand and see where your imagination can take you while improving your Python skills.

Tutorial for Reference: Mad Libs using Python by Mikedane

πŸ‘‰ PDF Generator using Python

Project Summary: An application which can read in a text file, html file or some other file and generates a PDF file out of it. Great for a web based service where the user uploads the file and the program returns a PDF of the file. Optional: Deploy on GAE or Heroku if possible.

πŸ‘‰ Build the Snake Game with PyGame

Summary: Take a detailed look at how the classic 90's snake game can be built in python using PyGame. The tutorial walks you through creating, moving and feeding the snake and by the end of it you will have a basic implementation of the snake game that you can add other features to.

πŸ‘‰ Analyze your own Netflix Data with Python

Summary: Want to find out how much time you have spent watching The Breaking Bad, Money Heist, The Office, or any other show on Netflix? In this project, You'll walk through exactly how to do it step by step! Having a little Python and pandas experience will be helpful for this project

πŸ‘‰ Building a Chatbot using Python

Prerequisites: Some basic Python knowledge and you should be comfortable with running commands in a Linux Shell, a MacOS Terminal, or a Windows Command Prompt. You will also need to install Python packages using the pip package manager (or conda if you're more comfortable with that).

πŸ‘‰ Quote Tracker using Python

Project Summary: A program which can go out and check the current value of stocks for a list of symbols entered by the user. The user can set how often the stocks are checked. For CLI, show whether the stock has moved up or down. Optional: If GUI, the program can show green up and red down arrows to show which direction the stock value has moved.

πŸ‘‰ Text Extractor from PDF: Use the PyPDF2 Python Package to Build a PDF to Text Conversion Tool.

Prerequisites: Basic python experience is enough but you should be able to keep up even without it because of the tutorial's step by step nature. You will also need the Python program installed on your computer.

πŸ‘‰ Page Scraper using Python 

Summary: Create an application which connects to a site and pulls out all links, or images, and saves them to a list. Optional: Organize the indexed content and don’t allow duplicates. Have it put the results into an easily searchable index file.

πŸ‘‰ Color Detection with OpenCV and Pandas

Summary of this Project: This idea of this project is to get the name of the color from the color values. To implement this, you need to use a dataset that has color values and labeled colour names, after completing this process you will move towards calculation of the shortest distance between each colour and then display the colour name that has the shortest distance.

πŸ‘‰ How to Build a Twitter Bot in Python with Tweepy

Summary of this Project: In this project, You'll learn you’ll learn how to make your own Twitter Bot in Python with Tweepy, a package that provides a very convenient way to use the Twitter API.

πŸ‘‰ Eulerian Path 

Project Summary: Create a program which will take as an input a graph and output either a Eulerian path or a Eulerian cycle, or state that it is not possible. A Eulerian Path starts at one node and traverses every edge of a graph through every node and finishes at another node. A Eulerian cycle is a eulerian Path that starts and finishes at the same node.

Source Code: Eulerian Path

πŸ‘‰ Build a 2D Platform Game with PyGame and Repl.it

Prerequisites: This is an intermediate level project where you'll need a basic understanding of object oriented programming in Python. You'll do everything from your browser so no Python set up is required. You can create a free account on Repl.it to save and share your code.

πŸ‘‰ Collatz Conjecture 

Summary: Start with a number n > 1. Find the number of steps it takes to reach one using the following process: If n is even, divide it by 2. If n is odd, multiply it by 3 and add 1. 

Source Code: Collatz Conjecture 

πŸ‘‰ Creating and Hosting a Basic Web Application with Django

Summary of the Project: Build a Django web application and host it with Repl.it. You’ll use geolocation a weather API to show the local weather forecast.

πŸ‘‰ Encode & Decode Messages using Python

Summary of this Project: You'll learn how to create a GUI with the tkinter Python library as well as encoding binary data to ASCII and decoding back to binary with base64

πŸ‘‰ Analyze Survey Data with Python

Project Summary: The reference tutorial given below makes use of Anaconda and Jupyter Notebooks but the steps to set it up are also included and will guide you through the process. In this project, You'll learn how to analyze and visualize data with Python together with the pandas and matplotlib libraries.

πŸ‘‰ Create an Instagram Bot with Python and InstaPy

What You'll Learn from this Project: In this project, you’ll learn how to build a bot with Python and InstaPy, a library by Tim Großmann which automates your Instagram activities so that you gain more followers and likes with minimal manual input. Along the way, you’ll learn about browser automation with Selenium and the Page Object Pattern, which together serve as the basis for InstaPy.

πŸ‘‰ Build a Discord Bot with Python

Summary of the Project: You will create an echo bot using the Discord API. Your bot will always respond with exactly what you send it for now.

πŸ‘‰ Age and Gender Detection with Python and Deep Learning

Summary: In this project, You will use the models trained by Tal Hassner and Gil Levi. Apart from this, you will get acquainted with Computer Vision, OpenCV, and Convolutional Neural Network (CNN). This project accurately portrays the versatility Python offers to the developers.

πŸ‘‰ How to Create a Mortgage Calculator using Python

Summary: Calculate the monthly payments of a fixed term mortgage over given Nth terms at a given interest rate. Also figure out how long it will take the user to pay back the loan. For added complexity, add an option for users to select the compounding interval (Monthly, Weekly, Daily, Continually

πŸ‘‰ Bulk Thumbnail Creator using Python

Summary: Picture processing can take a bit of time for some transformations. Especially if the image is large. Create an image program which can take hundreds of images and converts them to a specified size in the background thread while you do other things. For added complexity, have one thread handling re-sizing, have another bulk renaming of thumbnails etc.

πŸ‘‰ Password Generator using Python

Summary of this Project: Build a simple password generator with Python. You'll learn the basics of the Python syntax and working with strings. You will also learn more about the string and random Python libraries.

πŸ‘‰ Photomosaics using Python

Project Summary: You may have come across photomosaics before - big pictures built out of thousands of other tiny pictures. In this project you’re going to build a photomosaic creator. Unlike most other advanced beginner projects, a photomosaic creator is an extremely useful and practical tool.

πŸ‘‰ Hiding Messages in Images: Steganography with Python

Summary: Build a Python application that hides and extracts text messages in jpg images.  You'll learn about encoding and decoding text in different formats including base64 and utf-8.

πŸ‘‰ Find Pi to the Nth Digit

Summary: Enter a number and have the program generate PI up to that many decimal places. Keep a limit to how far the program will go. 

Source Code: Find Pi to the Nth Digit 

πŸ‘‰ Build an Asteroids Game with Python and Pygame

Summary of this Project: The game you’ll be making is a clone of the classic arcade game Asteroids. In it, you control a spaceship and shoot asteroids. If your spaceship collides with an asteroid, you lose. If you shoot down all asteroids, you win!

Take a look at "100+ Free Programming Books"

πŸ‘‰ Hangman Game using Python

Project Summary: Build a simple Python game where you can play Hangman against your computer. It doesn't require any specific modules other than random and time. Python loops and functions are all you'll need to build this game.

πŸ‘‰ Juggling with PyGame

Summary: A beginner's introduction to PyGame. You'll build your own juggling game with a basic game loop and moving tennis balls that the player can click on to throw.

πŸ‘‰ Todo List Powered by Flask and RethinkDB

Project Summary: In this Project, You’ll be creating a simple todo list, which you’ll be able to modify to meet your own needs. To do this project you should have basic knowledge of Rethink Data Base and how it differs from other NoSQl Databases. If you don't know, No need to worry, A small guide is already attached in the article. Go through it and then start this project.

πŸ‘‰ Typing Speed Test Project using Python

Project Summary: In this project, You are going to build a small speed game using python. For a graphical user interface, we are going to use the pygame library which is used for working with graphics. 

πŸ‘‰ Driver Drowsiness Detection with Python and OpenCV

Prerequisites: This python project is implemented using OpenCV and Keras. With OpenCV, you will be detecting the face and eyes of the driver and then you will use a model that can predict the state of a person’s eye “Open” or “Close”. The classification of eyes is done by a Convolutional Neural Network (CNN) model which is a deep neural network we build in Keras. 

πŸ‘‰ Stock Prediction using Python

Project Summary: In this Project, You're going to build an Apple Stock Prediction script in 40 lines of Python using the scikit-learn library and plot the graph using the matplotlib library. 

πŸ‘‰ Speech Recognition with Python and Flask

Project Summary: This project is a beginner-friendly Python and Flask application focused on building a platform to analyze and transcribe any Audio File uploaded to the website. We'll learn how to use the SpeechRecognition module in Python, take an Audio File as input in Flask, create both a GET and POST request on the same route and finally render the transcribed results of the speech file to the user.

Now you're ready to get started. If you haven't learned the basics or intermediate topics of Python yet, check out Learning Python: From Zero to Hero (A Must Read Guide for Beginners), Traversy Python Course for Beginners and Intermediate Python Course by Python Engineer (On FreeCodeCamp). The first Python crash course by Traversy Media introduces you to a lot of basic concepts in Python like Variables & Data Types, String Formatting & Methods, Lists, Tuples & Sets, Dictionaries, Functions, Conditionals, Loops, Modules, Classes & Objects, Working With Files, Working With JSON. And The Intermediate Python Course will take you through some basic concepts such as lists, strings, and dictionaries, but with an emphasis on some lesser known capabilities. Then, you will learn more advanced topics such as context managers, lambda functions, threading, multiprocessing, context managers, generators, decorators and more.
June 02, 2021


Contact Us