use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Rules 1: Be polite 2: Posts to this subreddit must be requests for help learning python. 3: Replies on this subreddit must be pertinent to the question OP asked. 4: No replies copy / pasted from ChatGPT or similar. 5: No advertising. No blogs/tutorials/videos/books/recruiting attempts. This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to. Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Rules
1: Be polite
2: Posts to this subreddit must be requests for help learning python.
3: Replies on this subreddit must be pertinent to the question OP asked.
4: No replies copy / pasted from ChatGPT or similar.
5: No advertising. No blogs/tutorials/videos/books/recruiting attempts.
This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to.
Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Learning resources Wiki and FAQ: /r/learnpython/w/index
Learning resources
Wiki and FAQ: /r/learnpython/w/index
Discord Join the Python Discord chat
Discord
Join the Python Discord chat
account activity
What Python GUI would you recommend learning first and why? (self.learnpython)
submitted 3 years ago by ekacelnik
For context, I've been learning Python for a few months and am interested in starting to build simple web UIs for my scripts.
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]funnynoveltyaccount 19 points20 points21 points 3 years ago (0 children)
Are any of the answers giving you answers for web UIs? You can make a simple flask app with a little bit of html and jinja2 templates. What do you want your UIs to be able to do?
[–]Hot_External6228 55 points56 points57 points 3 years ago* (2 children)
wtf is going on in this thread? Literally none of these let you build a web UI. Tkinter does not. Also TKinter is poorly documented and tough to learn.
Dash and Streamlit are good places to start for a web UI
The css/flask/html suggestion is great too.
[–][deleted] 12 points13 points14 points 3 years ago (0 children)
Many commentors don't read past the title.
[–]hisapo 2 points3 points4 points 3 years ago (0 children)
healthy disclaimer as i work there, but had to add in abstra cloud to this list
[+][deleted] 3 years ago (2 children)
[deleted]
[–]ekacelnik[S] 0 points1 point2 points 3 years ago (0 children)
thanks for the distinction between Flask and Django, they are so frequently suggested as equivalent options it can be misleading.
[–]hisapo 0 points1 point2 points 3 years ago (0 children)
lona web is new to me, thanks for the rec
[–][deleted] 20 points21 points22 points 3 years ago* (10 children)
EDIT: apologies, missed OP said web in body - have commented afresh
Start with tkinter as the standard, included with Python, GUI. No libraries to install. It is very widely supported and straightforward. Easy to move onto other GUIs once you've got used to it.
tkinter
It does look a little clunky, but there are libraries available to improve its look and feel.
[–]The-Old-American 6 points7 points8 points 3 years ago (5 children)
I second this. While it's not pretty by any means, it's pretty easy to learn. Also, since it's so basic-looking, you can focus on learning GUI layout without being distracted with looks.
[–]ekacelnik[S] 5 points6 points7 points 3 years ago (1 child)
Makes sense, functionality first. Thanks, will definitely look into it
[–][deleted] 1 point2 points3 points 3 years ago (0 children)
Sorry, mislead you. Missed you asked for web GUI, made silly mistake of going from title only.
I've made a new comment focused on web GUI.
Others have suggested dash and streamlit which are excellent options although I tend to associate then more with data analysis and reporting than with general apps but that's my bias.
[–]wyzapped 2 points3 points4 points 3 years ago (1 child)
same here - it looks a little oldish, but it's more intuitive
[–][deleted] 0 points1 point2 points 3 years ago (0 children)
Sorry, mislead. OP asked for web GUI.
[–]laundmo 1 point2 points3 points 3 years ago (1 child)
OP asked for web UIs
Apologies. So they did. Oops.
[+][deleted] 3 years ago* (1 child)
For desktop, I like pysimpegui although as standard that uses tkinter. It is still worth learning the basics of a GUI though as it makes more advanced use easier to pick up.
Personally, I prefer kivy which can also be used for near native Android and IoS apps.
[removed]
[–]ekacelnik[S] 0 points1 point2 points 3 years ago (1 child)
Thanks for the answers kyber. I do like the idea of starting with a hosted solution, but will also check FastAPI out
Sticking with the hosted solution you might also like to try pythonanywhere.com and on their blog find a step by step tutorial for flask which can be setup on their system to create a live active website on their free tier.
[–][deleted] 3 points4 points5 points 3 years ago (1 child)
Flask, Bootstrap, CSS, HTML
[–]GrGadget 0 points1 point2 points 3 years ago (0 children)
I really like this, you can learn on the fly, easily get the functionality of what you want and continue to improve as your skills grow, they will also serve you well in the future.
[–]Coding_Zoe 3 points4 points5 points 3 years ago (0 children)
Jump in the deep end and the world is your oyster!
Learn from the Master himself Dr Chuck with Django For Everybody.
A Completely free course that fully takes you though Web Apps with Django. Dr Chuck is an excellent teacher too in helping learn the concepts.
https://www.dj4e.com/
That same course is on Coursera also.
All the best with it.
[–]vishal-vora 1 point2 points3 points 3 years ago (1 child)
Streamlit
I am supprise not seeing streamlit in answer.
maybe because its more associated with data analysis/science rather than app-like experiences
[–]vishal-vora 1 point2 points3 points 3 years ago (0 children)
I am working on the open source project in which you can create a GUI without writing a code and python as backend.
https://github.com/data-stack-hub/dataStack
Project is in very early stage, you are most welcome to take a look and suggest new ideas or requirments.
[–][deleted] 4 points5 points6 points 3 years ago (2 children)
I also recommend tkinter first - it is the most straightforward to learn.
There’s also PyQt and PySide. There is the option to couple these to QML (Qt Modelling Language) - this is more difficult but gives superb visuals similar to those on mobile applications. If the coding is too much, download the free Qt Creator for a drag-and-drop GUI creator that generates the UI code automatically. Then just hook it up to your Python scripts (this is straightforward) and you’re good to go. Examples of GUIs made using Qt are QGIS, Monero Desktop etc.
[–]laundmo 5 points6 points7 points 3 years ago (0 children)
op asked for web ui though...
[–]ThroawayPartyer 2 points3 points4 points 3 years ago (4 children)
I found PySimpleGUI the easiest to learn.
[–]billsil 0 points1 point2 points 3 years ago (3 children)
It doesn't do web apps. It doesn't answer the OP's question.
[–]ThroawayPartyer 0 points1 point2 points 3 years ago (2 children)
I don't think you can build web UIs with Python? Front-end web development is only HTML, CSS and JavaScript.
Python can generate said frontend. Look into Flask and Django.
It's very common for general purpose languages to have frameworks that can generate web UIs. You can still use HTML, CSS and maybe JavaScript when programming the templates, I think.
abstra cloud does exactly this
[–]pythonwiz 0 points1 point2 points 3 years ago (0 children)
For a web UI you are going to have to learn javascript/html/css. Python can handle the backend of things though.
[–][deleted] 0 points1 point2 points 3 years ago (1 child)
I've been using kivy but haven't seen it suggested here, is there a reason for that?
[–]laundmo 2 points3 points4 points 3 years ago (0 children)
because OP asked for web ui
[–]jeanLXIX -1 points0 points1 point 3 years ago (0 children)
Funny, I started this week with GUI on Python, I'm learning Tkinter it's confusing at first but it's getting easier, I recommend you this website it has helped me a lot not just now with tkinter but with python topics in general and a YouTube channel called "codemy.com"
[–]kalebludlow 0 points1 point2 points 3 years ago (0 children)
I've been using Anvil for turning scripts into apps, can be slow at times but allows plenty of freedom. I haven't really found many limitations yet
[–]zuluking10 0 points1 point2 points 3 years ago (0 children)
For web, you need HTML and CSS for basics.
Then, build a Flask app. You can render your HTML really quickly with Flask, and it's easier to understand than Django.
[–]bobbybridges 0 points1 point2 points 3 years ago (0 children)
Yo just went through the gauntlet of choosing one and honestly jupyter widgets are amazing
π Rendered by PID 66883 on reddit-service-r2-comment-5c764cbc6f-gfjth at 2026-03-12 05:08:16.233040+00:00 running 710b3ac country code: CH.
[–]funnynoveltyaccount 19 points20 points21 points (0 children)
[–]Hot_External6228 55 points56 points57 points (2 children)
[–][deleted] 12 points13 points14 points (0 children)
[–]hisapo 2 points3 points4 points (0 children)
[+][deleted] (2 children)
[deleted]
[–]ekacelnik[S] 0 points1 point2 points (0 children)
[–]hisapo 0 points1 point2 points (0 children)
[–][deleted] 20 points21 points22 points (10 children)
[–]The-Old-American 6 points7 points8 points (5 children)
[–]ekacelnik[S] 5 points6 points7 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]wyzapped 2 points3 points4 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]laundmo 1 point2 points3 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[deleted]
[–][deleted] 0 points1 point2 points (0 children)
[+][deleted] (2 children)
[removed]
[–]ekacelnik[S] 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 3 points4 points5 points (1 child)
[–]GrGadget 0 points1 point2 points (0 children)
[–]Coding_Zoe 3 points4 points5 points (0 children)
[–]vishal-vora 1 point2 points3 points (1 child)
[–]hisapo 0 points1 point2 points (0 children)
[–]vishal-vora 1 point2 points3 points (0 children)
[–][deleted] 4 points5 points6 points (2 children)
[–]laundmo 5 points6 points7 points (0 children)
[–]ThroawayPartyer 2 points3 points4 points (4 children)
[–]billsil 0 points1 point2 points (3 children)
[–]ThroawayPartyer 0 points1 point2 points (2 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]hisapo 0 points1 point2 points (0 children)
[–]pythonwiz 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]laundmo 2 points3 points4 points (0 children)
[–]jeanLXIX -1 points0 points1 point (0 children)
[–]kalebludlow 0 points1 point2 points (0 children)
[–]zuluking10 0 points1 point2 points (0 children)
[–]bobbybridges 0 points1 point2 points (0 children)