A modern and minimal quote generator application built with Python, CustomTkinter, and the Quotable API, featuring theme switching, a clean UI and fast quote retrieval.
- 🎨 Modern UI using CustomTkinter
- 🔄 Light/Dark theme toggle
- 🎲 Random theme color each time the app starts
- 📝 Fetch inspirational quotes using the Quotable API
- 🔗 Clickable API link (opens in browser)
- 📋 Right-click menu (Copy, Paste, Cut)
- 🖥 Cross-platform (Windows, Linux, macOS)
- ⚡ Fast, lightweight, beginner-friendly codebase
Here are some screenshots of the CTk Quote Generator project:
Main Page with Dark Mode

Output Page with Light Mode

- Python 3.11+
- CustomTkinter
- Requests
- Tkinter
- Quotable.io API
git clone https://github.com/iamx-ariful-islam/CTk-Quote-Generator.git
cd CTk-Quote-GeneratorMake sure pip is available in your system PATH.
pip install -r requirements.txt
# or (Linux/MacOS)
sudo pip install -r requirements.txtThe requirements.txt file, lists of all the python libraries that my "CTk Quote Generator" depends on and installs those packages from the file.
python main.pyHere’s the structure of the CTk Quote Generator project:
CTk-Quote-Generator/
│
│── screenshots/
│── main.py
│── LICENSE
├── README.md
└── requirements.txtThis project uses the Quotable API:
https://api.quotable.io/random
- Click Generate Quote → The app calls the Quotable API
- The app parses the JSON response
- The quote and author are displayed in the text box
- Users can copy/paste text via right-click menu
- Appearance can be toggled between Light/Dark
Inside main.py:
ctk.set_default_color_theme(random.choice(['blue', 'green', 'dark-blue']))You can add more themes or set a static theme.
Contributions, suggestions, and feedback are always welcome! ❤️
To contribute:
- Fork the repository
- Create a new branch (
feature/new-feature) - Commit your changes
- Push and submit a Pull Request
💬 You can also open an issue if you’d like to discuss a feature or report a bug.
The MIT License (MIT)
“Good design is about making things simple yet significant”
— Md. Ariful Islam