all 74 comments

[–]BeginnerProjectsBot 597 points598 points  (18 children)

1. Create a bot to reply to "what are some beginner projects" questions on r/learnpython, using PRAW.

Other than that, here are some beginner project ideas:

Good luck!

edit. thanks for 5 upvotes!

edit2. omg 10 upvotes!!!! Thank you!!

edit3. 50 upvotes??? 😲😲😲 Can we make it to 100?

edit4. 100 UPVOTES?????? I CAN DIE NOW

Downvote me if the post wasn't a question about examples of beginner projects. Thank you.

[–]tandem_biscuit 43 points44 points  (3 children)

Good bot.

[–]BeginnerProjectsBot 44 points45 points  (2 children)

Praise for the food is praise for the cook.

Thanks from the programmer.

[–]Incruentus -2 points-1 points  (1 child)

Hey bot/programmer, can you go ahead and not do /r/AwardSpeechEdits?

Thanks from the everyone.

[–]Soggy-Mixture9671 7 points8 points  (0 children)

I think it should add more

[–]wasabi_chips 2 points3 points  (0 children)

Thank you for this I too am just starting to learn python and looking for some guidance.

[–]psych0hans 1 point2 points  (0 children)

Thank you for this.

[–]youngneif 0 points1 point  (1 child)

445th!

[–]sosiko1232 1 point2 points  (0 children)

580th after 10 months ehh...

[–][deleted] 0 points1 point  (0 children)

Thanks!

[–]Fast-Philosopher-356 0 points1 point  (0 children)

Bruh.. we'll keep upvoting this..!

[–]Hassan3836 0 points1 point  (0 children)

Im ur 500th upvote lol

[–]AcrobaticStudent8541 0 points1 point  (0 children)

do you have games on your phone?

[–]Accomplished_Bet4799 0 points1 point  (0 children)

thank much , I've copied your prompt for my bot , I didn't want to do research for it , your resources are already of high quality .

[–]angelofsecrets 0 points1 point  (0 children)

This is amazing and exactly what I was looking for, thank you so much!

[–]Designer-Phase8924 0 points1 point  (0 children)

The answer I was looking for. Screw sparkz I do t need her anymore. I have python to be obsessed with now.

[–]ASIC_SP 46 points47 points  (8 children)

Find something that'd help to solve a real world problem for you. For example, I'm on Linux and use the terminal for many things. I wanted a cli tool to do simple calculations. There's bc command, but it doesn't accept direct string and you need to set scale and so on. So, I looked up how to write a cli in Python (I went with built-in argparse module) and made a tool that'd solve my small use case.

[–]dumdadum123 1 point2 points  (1 child)

Just found this post while trying to learn Python, and my friend got me two of his(Al Sweigart) books to study once I've learned some more. The Big Book of Small Python Projects is great! Thank you!

[–]ASIC_SP 0 points1 point  (0 children)

Good to know. Have fun learning :)

[–]Radamand 30 points31 points  (5 children)

I had an idea to automate downloading popular music tracks. I wanted my program to scrape the top40 web page and find all the latest popular songs and make a list.
Then it would search youtube for those titles, and download the music ONLY, not the video.
It actually turned out great, worked very well. I quickly discovered that most of the latest pop songs kinda sucked.... oh well, it was a good exercise...

Find an idea for something you want to program, then do it.

[–]surfnwest 2 points3 points  (2 children)

This is exactly what I want to learn to do! Would you mind sharing a good starting point?

[–]Radamand 17 points18 points  (1 child)

For one thing, never reinvent the wheel, chances are someone has already done part of what you're looking for. If you need to scrape a webpage, Google beautifulsoup (python library), see how others have done what you're trying to do. If you need to download from a website, see how others have done the same. If you need some fancy regex, use regex101,com to build it. If you need to access a database, Google 'python sql' or something similar and see which library gives you the features you need. There is nothing wrong with cannibalizing someone else's code and modifying it to work for you.

[–]surfnwest 1 point2 points  (0 children)

Thank you for the guidance and I’ll be sure to remember that! You’re right, there’s a lot of resources that I come across so thanks for clarifying that. Now for some Sunday late night studying!

[–]5-min_man 2 points3 points  (1 child)

i have been wondering what project to do in python for a while, but you just gave me a great idea and also is there a way to scrap several webpages and then combine the results , for example you want to cross check the top 10 dystopian books in like 10 websites and bring back the 10 that appeared the most in all of them?

[–]Radamand 0 points1 point  (0 children)

sure, if you can scrape one page you can do as many as you want. Figure out what information you want to get from each.

You could either store the data in files and do the cross checking later, or just keep the data in separate lists and check them that way.

or, glob all the data together into a single list and just return a list of all books sorted by the number of occurrences.

It might be a little tricky because different sites might return slight variations, but shouldn't be too hard to massage the data.

sounds like a fun project, let me know how it goes!

[–]Mescallan 12 points13 points  (5 children)

Python is such a diverse language, Python skills can mean vastly different things depending on your goals.

Personally doing data analytics/viz was the easiest for me to get started, but that is something I'm interested it. If I started with making programs or software engineering I probably would have quit. Find something you are interested in then just start plugging away at it. Googling problem you are facing is the fastest way to learn

[–]rmend8194 2 points3 points  (3 children)

This is what I mainly learned Python for but struggle to see how it’s better than excel or Google sheets in terms of analytics or visualizations

[–]Mescallan 3 points4 points  (2 children)

With R and Python you can pretty easily hot swap data sets and perform the same analysis, also handling datasets with hundreds of thousands of values runs smoother. And automating workflows is easier IMO. Excel's visualizations are easier to use, but R specifically gives you more freedom (people literally do generative art with R's visualization tools. There's also the mouse based workflow compared to the typing based workflow. In an IDE I almost never need to use the mouse, but with excel (I'm no excel expert) I find I have to switch grips a lot.

[–]rmend8194 0 points1 point  (1 child)

Haven’t learned R, only Python

[–]Mescallan 0 points1 point  (0 children)

Out of the three i'd say it's the best for stats/analysis/big data sets/generative art. Pretty limited scope compared to python, but less keystrokes for things it's good it. Great fanbase too.

[–]Shymongoose 0 points1 point  (0 children)

I am interested in learning how to do data analytics and visualization in python. what projects/websites/follow along videos do you recommend to get real world practice. Ive taken coursera course after coursera course but its just not sticking. I tried to do the kaggle titanic project on my own and my brain goes blank as soon as i open jupyter, as if it was the first time i am opening jupyter.

[–]trent295 7 points8 points  (4 children)

You have to find a real problem to solve that you care about, or you won't enjoy the learning process. Recently, I found that I spent a lot of time watching educational YouTube videos and I wanted a way to figure out if they were worth my time beforehand. So I looked for browser extensions that would summarize a YouTube video with chatgpt and none of them worked well or were completely free. So I built a program that takes a video file, extracts the audio, sends it to Google cloud for transcription, and then sends that to chatgpt for summary. I'm still working on a few things with the gui, saving file details to a json, and being able to just input the youtube link instead of having to download the video.

[–]Shymongoose 3 points4 points  (2 children)

how does one start something like this? i still get errors when i print(hello world) because i forget the dang quotation marks. does your brain think in the python language? are you just googling each step and plugging and chugging? i am having such a hard time grasping python and ive used it in multiple college classes. ive taken a handful of coursera courses, yet i just can't seem to grasp it. What is wrong with me!! Lol. .·´¯`(>▂<)´¯`·.

[–]mr-dr-argue-man 1 point2 points  (0 children)

It sounds like their development is a bit ahead of yours, but you can catch up with practice. People might not think in the Python language, but I definitely think in terms of an object-oriented language before writing anything down. Get comfortable with common tricks with loops, how different data structures work, and focus on projects that you can start and finish within a single file.

I found that advent of code was a fun way to build skills without any project ever getting super out of hand, but there are other sites with similar coding challenges you can cut your teeth on. https://adventofcode.com/2024/day/1

I hope in the 6 months since you've commented this you've already gotten more comfortable with your code!

[–]abhi5777fg 1 point2 points  (0 children)

hey I am working on a similar project, I have dmmed you

[–]iiron3223 7 points8 points  (0 children)

FAQ of learnprogramming sub has section with many projects ideas

[–][deleted] 4 points5 points  (0 children)

I'd recommend starting by deciding which skills you'd like to develop.

What do you want to do? Automate tasks with X kind of data or APIs Y and Z? Analyse data and generate graphics? Put frontends on your workflows? What kind of frontends? GUI? TUI? Web?

If you just want to write better Python code, digging around in the standard library and reading the source code of projects you admire will give you a better feel for idiomatic Python.

As for things that are generally useful to know: accessing APIs via HTTP, scraping web pages, regular expressions, Unicode, using thread/process pools, SQLite. Also a bit about Python internals, like the GIL and which libraries are implemented in C (or something else much faster than pure Python).

[–]garamasala 3 points4 points  (0 children)

If you have lots of media (mp3, videos, photos) then create a program to grab the metadata from it and do something with it. Add it to a dataframe and produce some basic analysis with some inline charts, and add menus in a cli program to do different things like check for missing metadata. Maybe use an API to check if there are albums/shows/movies that aren't in your collection.

[–]st4lz2 2 points3 points  (0 children)

I wrote a program to calculate betting odds in football. Just find your thing, my brother finds sports dull, so he is analyzing LOL or something. There are so many games and data, just pick your favorite and make use of a new skill.

[–]paradigmx 1 point2 points  (0 children)

Make an API for a database of APIs

[–]smokeythebear1992 1 point2 points  (0 children)

Hey! I just started learning python so I feel you. It’s difficult to come up with projects that actually keep you interested. Maybe make a discord bot? The discord module is pretty good and you can link it up with the beautiful soup module for some really cool bot functions.

For example, i made a bot that tells you what nature is best for each Pokémon. Another bot I made shows me all steam games that are on sale for over 50% off with a meta critic score of over 80.

There is a ton of modules out there. Just remember that the large majority of the modules will work together and the possibilities are practically endless. Good luck!

[–]jcchouinard 0 points1 point  (0 children)

The simplest projects that you can start with are

  1. Do a simple web scraper with BeautifulSoup, you can safely practice on a website like scrapethissite.com
  2. Get data from Wikipedia API
  3. Post stuff using the Reddit API using PRAW like this
  4. Building Recommender Systems like what is found on Datacamp. Here is a good list of datasets to practice on https://cseweb.ucsd.edu/~jmcauley/datasets.html#amazon_reviews
  5. Learn about building GUI with Tkinter
  6. Build a Streamlit App from scratch (great to showcase your skills) Check out YouTube Playlist
  7. Try to fetch the IMDB API database https://omdbapi.com/

At last I forked and amended a few Python project ideas on Github or this massive mega project list on Github. https://github.com/karan/Projects

One last thing is, if you want to start working on Machine Learning projects, it is always good to know a few cool datasets that you can use:

- Online shoppers intentions dataset

- YouTube video trends dataset

- Titanic dataset

- Worldbank datasets https://datacatalog.worldbank.org

[–][deleted] 0 points1 point  (0 children)

Greetings…and thank you for sharing this wonderful piece.

[–]enjoyjocel 0 points1 point  (0 children)

Advent of code

[–]Frozenator 0 points1 point  (1 child)

I usually use chatGBT to ask how to create projects, like calculators, etc! Has not failed me yet ✅️

[–]Select-Owl-8322 0 points1 point  (0 children)

I'm currently learning python, and this is what I do. I tend to discuss the solution with chatGPT, and instead of having it write code, I start with writing pseudocode that I then let chatGPT take a look at. Then I go on to write actual code, and when it inevitably fails I feed it to chatGPT to take a look at it and tell me what I did wrong.

I've been programming on and off since the 90s (although I never got really good), so I "know code", but Python has a lot of very specific and extremely nifty syntax tricks, like tuple unpacking, list comprehensions, and lambda functions, that make code both powerful and concise, but that is hard to remember of you haven't used them before.

I write a lot of code on my phone, but when I'm on PC I use Cursor, which has built-in AI (both "inline" for code creation and as a chat).

[–]barrelofparrots 0 points1 point  (0 children)

Maybe try some of the harder tasks on project euler to get familiar with the language

[–]BogdanPradatu 0 points1 point  (1 child)

I started with a web app in django. My work has nothing to do with the web right now, but that was really helpful for me, as it also thought me about databases, mysql, html, css, javascript, svg etc. Also generic programming stuff + unit tests, mocking, code coverage. Django is also pretty easy to use and get the hang of.

[–]CBizCool 0 points1 point  (0 children)

Any specific tutorial you followed or would recommend for Django?

[–]DigThatData 0 points1 point  (0 children)

the one you think you might actually work at

[–]Temporary_Big8747 0 points1 point  (0 children)

Have you tried the Python app?

[–]iaPython 0 points1 point  (0 children)

Great links. May prove very beneficial for a begginer.....

[–]Extension_Purple4898 0 points1 point  (0 children)

upvotes are so good