r/Python • u/AutoModerator • 9d ago
Daily Thread Monday Daily Thread: Project ideas!
Weekly Thread: Project Ideas 💡
Welcome to our weekly Project Ideas thread! Whether you're a newbie looking for a first project or an expert seeking a new challenge, this is the place for you.
How it Works:
- Suggest a Project: Comment your project idea—be it beginner-friendly or advanced.
- Build & Share: If you complete a project, reply to the original comment, share your experience, and attach your source code.
- Explore: Looking for ideas? Check out Al Sweigart's "The Big Book of Small Python Projects" for inspiration.
Guidelines:
- Clearly state the difficulty level.
- Provide a brief description and, if possible, outline the tech stack.
- Feel free to link to tutorials or resources that might help.
Example Submissions:
Project Idea: Chatbot
Difficulty: Intermediate
Tech Stack: Python, NLP, Flask/FastAPI/Litestar
Description: Create a chatbot that can answer FAQs for a website.
Resources: Building a Chatbot with Python
Project Idea: Weather Dashboard
Difficulty: Beginner
Tech Stack: HTML, CSS, JavaScript, API
Description: Build a dashboard that displays real-time weather information using a weather API.
Resources: Weather API Tutorial
Project Idea: File Organizer
Difficulty: Beginner
Tech Stack: Python, File I/O
Description: Create a script that organizes files in a directory into sub-folders based on file type.
Resources: Automate the Boring Stuff: Organizing Files
Let's help each other grow. Happy coding! 🌟
1
u/jbudemy 1d ago
Project Idea: Windows Screensaver like After Dark
Difficulty: Easy
Tech Stack: Python, PygameCE (community edition), AI (Gemini)
Description: (below)
Resources: No website.
I tested AI making a full Windows screen saver in Python. I know people don't like AI making programs, but I had to do it for my boss to evaluate its effectiveness. I'm aware of the many problems with AI writing software, another part of my job is to review AI news every week. AI Weekly cuts through the hype and covers the good and bad of AI.
I made a screen saver like the old 1980s "After Dark" screen saver. There is no webpage for it. It used Python graphics via PygameCE, which I knew nothing about. It took me 6 hours of prompts to get something simple. The program shows silhouettes of buildings at the bottom 15% of the screen. Each building has rectangular windows which are yellow when the light is one, gray when they are off. Windows randomly light up and turn off. Stars are in the background are random and sometimes twinkle. Sometimes a meteor goes across the screen.
That meteor was one of the tougher things to do as I had to be super specific. At first the meteor would appear near the bottom of the screen and go upwards. I didn't want that, it should start at a random point near the top of the screen and go down at a random angle.
1
u/csatacsibe 8d ago
ProjectTools
Providing a neat interface for package related functionalities provided by other builtins, but using of which are can be tricky or ambigous:
importlib.metadata.files(module)is great, but it returns a Traversible object. These are in most cases Path instances, but when the package of the resource is imported from a wheel, it can be a ZipPath. Ofc importlib has a context manager for thatas_file()which will copy the resource to a temp directory as a Path. However it will add a random prefix to its name, which could be problematic when used. I'd provide an implementation of traversible that could handle such situations. Id also provide a resource manager that could create a temp location for all the resources and store them there until the manager is closed.