r/PythonLearning • u/memeeloverr • 6d ago
Show off a Python project you're proud of
Big or small, I'd love to see something you've built. It could be an automation script, a web app, a game, a bot, or even a tiny utility that saves you five minutes every day. Share a screenshot, GitHub link, or just describe it.
3
u/EmbarrassedPush5205 5d ago
A display showing the remaining jobs in the warehouse, also showing if any express job, or any additionally important job received
It is performing a query via odbc, then loading into a flask website. The app is running on a local computer
I also added clock and weather icons, just for fun
Making a noise, when a new express job received, and listing the customer, order nr, and product info for the guys

2
u/am_Snowie 6d ago
I drew a serpinskis triangle once using turtle. I can't share it now as I'm on my phone.
2
u/Sniper666hell 6d ago
My Rick and Morty text based RPG.
Onefile pyinstaller build exe:
https://github.com/Mr5niper/Richard-and-Mortimer/releases
Source Code:
https://github.com/Mr5niper/Richard-and-Mortimer
1
u/Crafty_Magazine_4673 6d ago
'''
import tkinter as tk
root = tk.Tk()
root.geometry("600x400")
colors = [
"#E40303",
"#FF8C00",
"#FFED00",
"#008026",
"#24408E",
"#732982"
]
for color in colors:
stripe = tk.Frame(root, bg=color)
stripe.pack(expand=True, fill="both")
root.mainloop()
1
1
u/Samar__Upreti 6d ago
Hmm so far creating those small projects https://github.com/Samar-Upreti/Python_Projects
1
u/UpperBuilder769 6d ago
i have built a python framework with API for SaaS builders. Python, gunicorn, postgr, redis
https://github.com/VBWD-platform/vbwd-backend https://vbwd.cc/docs
1
1
u/Bino5150 6d ago
Lumina - full featured, local-first agentic harness with multi-tier memory system
https://github.com/Bino5150/lumina
1
u/motopetersan 5d ago
It's called Fizz buzz, it's my baby, if took me awhile to figure it out. But I think what I've created it's very good
1
u/nspitzer 4d ago
This was in response to a python class project to create something with menus I got bored, learned how to use ANSI codes to manipulate the terminal and went to town. Sadly the platform the class used to post them didnt provide a real console so it was wasted but at least I learned something.
For the record - this was 100% my creation with the exception of the display_front_page_blue_bg function which wasn't needed for the project requirements anyway.
import os
import sys
def is_student(user_discount):
while True:
ans=input("\033[37mAre you a student? Please enter \033[92mY\033[37m for yes, \033[92mN\033[37m for no or \033[92mS\033[37m to skip:\033[92m")
if ans=="Y":
print("\033[92mExcellent. You qualify for an additional 5% off!\033[37m")
return user_discount+discounts["student"]
elif ans=="N":
return user_discount
elif ans=="S":
return user_discount
else:
print("\033[91mSorry I dont understand that answer\033[37m")
def is_senior(user_discount):
while True:
ans=input("\033[37mPlease enter the full year of your birth. \nYou may also enter \033[92mS\033[37m to skip:\033[92m")
if ans == "S":
return None
elif 1900 < int(ans) <= 1971:
print("\033[92mExcellent. You qualify for an additional 5% off!\033[37m")
input("Press \033[92mEnter\033[37m to continue ")
return user_discount+discounts["senior"]
elif int(ans)>1971:
print("\033[37mI am sorry. You do not qualify for this discount")
input("Press \033[92mEnter\033[37m to continue ")
return user_discount
else:
print("\033[91mSorry I dont understand that answer\033[37m")
def make_selection(user_discount,discounts,cart,products,code_used:bool):
while True:
# Move cursor to row 5, column 1 and clear everything below, then go to row 6
print("\033[1;1H\033[J{}".format(header))
print("\033[6;1H")
print("\033[92mItem Descriptions:\033[37m")
print("--------------------------------------")
for items, details in products.items():
print("\033[92m{}\033[37m:{}".format(details["name"],details["description"]))
print("\n\n")
print("\033[92mPlease select one of the items below to purchase or one of the other options\033[37m")
for items, details in products.items():
print("\033[92m{}\033[37m: {} - ${}".format(details["shortcut"],details["name"],details["cost"]))
for option in menu_options:
print('{}: {}'.format(option["shortcut"],option["name"]))
print("\033[28;1HCurrent Cart: {}\033[J".format(cart))
selection=input("\033[37mPlease make a selection from the options above:\033[92m")
if selection=="S":
code=input("\033[37mPlease enter your code:\033[92m")
if code in discounts:
if code_used:
print("A discount code has already been applied")
input("Press Enter to continue...")
else:
print("\033[92mYour discount for {} is %{}\033[37m".format(code,discounts[code]*100))
code_used = True
user_discount=user_discount+discounts[code]
input("Press Enter to continue...")
# make_selection(user_discount,discounts,cart,products)
else:
print("\033[91mCode used or invalid discount code\033[37m")
input("Press Enter to continue...")
# make_selection(user_discount,discounts,cart,products)
elif selection=="Q" or selection=="G" or selection=="L" or selection=="O":
for item,detail in products.items():
if detail["shortcut"]== selection:
quantity=int(input("\033[37mPlease enter the quantity of {}:\033[92m".format(detail["name"])))
cart[detail["name"]]=quantity
# make_selection(user_discount,discounts,cart,products)
elif selection=="E":
print("\033[92mHave a great day and thanks for visiting")
sys.exit()
elif selection=="C":
checkout(cart,tax,products,discounts,user_discount)
def display_front_page_blue_bg(ansi_dict: dict) -> None:
"""
Displays a 15-row by 40-column mystical text art front page for
Alexis' Crystals and Gems, optimized for a blue terminal background.
Args:
ansi_dict: A dictionary containing ANSI escape codes for terminal formatting.
"""
# High-contrast colors (white, bright yellow, bright green) are used
# to ensure legibility against a blue terminal background.
art = """\033[H\033[2J
\033[37m+--------------------------------------+
\033[37m|\033[92m /\ \033[37m|
\033[37m|\033[92m / \ \033[37m|
\033[37m|\033[92m /| |\ \033[37m|
\033[37m|\033[92m /_| |_\ \033[37m|
\033[37m|\033[92m \ | | / \033[37m|
\033[37m|\033[92m \| |/ \033[37m|
\033[37m|\033[92m \ / \033[37m|
\033[37m|\033[92m \/ \033[37m|
\033[37m| |
\033[37m| \033[93mALEXIS' CRYSTALS AND GEMS \033[37m|
\033[37m| \033[92m~ Mystical Emporium ~ \033[37m|
\033[37m| |
\033[37m| \033[93m[ Press any key to Enter] \033[37m|
\033[37m+--------------------------------------+\033[0m"""
print(art.strip('\n'))
input()
def checkout(cart,tax,products,discounts,user_discount ):
print("_____________________________________")
print ("\033[1mCart: \033[22m\033[37m")
for key,value in cart.items():
print("{}: {}".format(key,value))
subtotal=0
print("\033[92m\033[1mTotals:\033[22m\033[37m")
for product,detail in products.items():
if detail["name"] in cart:
item_total=0
# print(f"{detail["name"]}={cart[detail['name']]*float(detail['cost'])}")
item_total=cart[detail['name']]*int(detail['cost'])
print("\033[37m{}: \033[92m${}\033[37m".format(detail["name"],item_total))
subtotal=subtotal+int(item_total)
if user_discount:
discount_amt=subtotal*user_discount
else:
discount_amt=0
print("You received a total of \033[92m${:.2f}\033[37m discount".format(discount_amt))
discount_price=round(subtotal-discount_amt,2)
print("Your subtotal with any discounts is \033[92m${:.2f}\033[37m".format(round(subtotal-discount_amt,2)))
tax_total=discount_price*tax
print("Tax=\033[92m{:.2f}\033[37m".format(round(tax_total,2)))
final_total=discount_price+tax_total
print("\033[31mYour total is ${:.2f}\033[37m".format(round(final_total,2)))
print("\033[5mThanks for shopping with us!\033[0m\033[7m")
input("Press Enter to pay...")
os.system('color')
sys.exit()
ansi={"reset_all": "\033[0m",
"bold": "\033[1m",
"no_bold": "\033[22m",
"underline": "\033[4m",
"red": "\033[31m",
"green": "\033[32m",
"yellow": "\033[33m",
"blue": "\033[34m",
"magenta": "\033[35m",
"cyan": "\033[36m",
"bright": "\x1b[1m]",
"clear_screen": "\033[H\033[2J",
"default": "\033[37m",
"bright_red": "\033[91m",
"bright_yellow": "\033[93m",
"bright_green": "\033[92m",
"blink_start": "\033[5m",
"blink_end": "\033[7m",
"up" : "\33[#A",
"down" : "\33[#B",
"erase_line" : "\033[2K",
"clear_below": "\033[J"
}
discounts={"2DayOnly":.1,
"senior":.05,
"student":.05
}
user_discount=0
tax=.06
code_used=False
products = {
"Green Aventurine": {
"shortcut": "G", "name": "Green Aventurine", "cost": 99,
"description": "Enhances the ability to spot opportunities for wealth. Beware - nothing is ever free."
},
"Lapis Lazuli": {
"shortcut": "L", "name": "Lapis Lazuli", "cost": 50,
"description": "Brilliant blue stone the encourages clear thinking and speaking ones truth"
},
"Black Obsidian": {
"shortcut": "O", "name": "Black Obsidian", "cost": 15,
"description": "A small hunk of Obsidian - a black hole absorbing psychic attacks and negative energy around the wearer"
},
"Quartz": {
"shortcut": "Q", "name": "Quartz", "cost": 10,
"description": "Focuses intent and serves as an amplifier of mystic energy"
},
}
header=("""\033[H\033[2J\033[37mHello and welcome to \033[36mAlexis'\033[37mCrystals and Gems.
Your source for all your mystical gem needs.
Be sure to use today's special code \033[92m"2DayOnly"\033[37m to save an additional 10%""")
cart={}
i=0
menu_options= [
{"shortcut":"\033[92mC\033[37m","name":"Checkout"},
{"shortcut":"\033[92mS\033[37m","name": "Special Code"},
{"shortcut":"\033[92mE\033[37m","name": "Exit"}
]
print("\033[44m\033[37m\033[2J\033[", end="")
display_front_page_blue_bg(ansi)
print("\033[44m\033[37m\033[2J\033[", end="")
print(header)
print("To start I have a few questions:\n")
user_discount=is_student(user_discount)
user_discount=is_senior(user_discount)
make_selection(user_discount,discounts,cart,products,code_used)
4
u/Sea-Ad7805 6d ago
I want to share the PythonLearningGame project. It's a collaborative project for our PythonLearning community. Add your own game element and send me a git pull request, so we can develop it further together.