What next?
This book presented a few projects to get started with writing applications to solve real-world problems. There are plenty of other kinds of projects you can get inspirations from. Also, some major topics like type-hinting, tests, coding styles and packaging weren't discussed in this book. You'll find resources for these mentioned below.
TUI
Textual is a Text User Interface (TUI) framework for Python inspired by modern web development. I've written several TUI apps that provides interactive exercises and tutorials for Linux text processing tools, Python regular expressions and more. And of course, I wrote one for the Square Tic Tac Toe game as well.
See also:
- Textual Tutorial
- Textual based applications and third-party tools
- List of projects that provide terminal user interfaces
Web applications
- realpython: Web Development Tutorials — testing, integrating, deployment, containers, API, authentication, performance, etc
- calmcode: fastapi — FastAPI is a modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints
- anvil — build seriously powerful web apps with all the flexibility of Python
Project planning
- How to Plan and Build a Programming Project
- Comprehensive guide to Python project management and packaging — what was used before, why it needed to change, and how the changes provided by the PEPs solved the issues
- Python Developer Tooling Handbook — to help you understand the ecosystem of tools used to make Python development easier and more productive
- The Good Research Code Handbook — how to organize your code so that it is easy to understand and works reliably (aimed at researchers)
- Writing Toy Software Is A Joy
Books on Python projects
- The Big Book of Small Python Projects
- Tiny Python Projects
- Real world Python
- Projectbook — collection of over 100 software project ideas for people looking to learn a given language or technology
Project lists and tutorials
- Project based learning
- Python Projects You Can Build
- Pytudes by Peter Norvig
- /r/learnpython: What do you automate with Python at home?
- Build your own (insert technology here)
Intermediate
- Beyond the Basic Stuff with Python — Best Practices, Tools, and Techniques, OOP, Practice Projects
- Practical Python Programming — covers foundational aspects of Python programming with an emphasis on script writing, data manipulation, and program organization
- Pydon'ts — Write elegant Python code, make the best use of the core Python features
- Python Distilled — this pragmatic guide provides a concise narrative related to fundamental programming topics such as data abstraction, control flow, program structure, functions, objects, and modules
- Problem solving with algorithms and data structures
- Classic Computer Science Problems in Python — deepens your knowledge of problem solving techniques from the realm of computer science by challenging you with time-tested scenarios, exercises, and algorithms
Testing
- Getting started with testing in Python
- Python testing style guide
- calmcode — videos on testing, code style, args kwargs, data science, etc
- TDD in Python with pytest
- Obey the Testing Goat — TDD for the Web, with Python, Selenium, Django, JavaScript and pals
Type annotations
Advanced
- Fluent Python — takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time
- Serious Python — deployment, scalability, testing, and more
- Practices of the Python Pro — learn to design professional-level, clean, easily maintainable software at scale, includes examples for software development best practices
- Intuitive Python — productive development for projects that last
Resources list
See my comprehensive list of Python learning resources for more such resources.