As a way to learn Python I recently started using a site Codecrafters.io Its a way to use larger projects to learn concepts that are actually a bit challenging. The first project I have completed is Build you own HTTP server.
The project is rather basic and simply has you implement a basic HTTP server. It gradually adds requirements such as handling 404’s, returning files, respecting request headers and returning a compressed response body. It was a fun project to learn some of the Python libraries for using sockets and getting used to parsing a request. I also really like how they start out with very little functionality and you slowly add complexity, giving to breaks to think about how you need to refactor and clean up the code. I really hope they implement additional aspects of the HTTP server as further requirements.