A modern, elegant desktop application built with Python and Tkinter that fetches and displays the latest 30 posts from Hacker News.
Hacker News Reader is a GUI-based Python application that provides a clean interface to browse Hacker News stories. Built with:
- Requests and BeautifulSoup4 for web scraping
- Tkinter for the graphical user interface
- Threading for smooth, non-blocking data loading
The app fetches the 30 most recent posts from Hacker News and displays them in a scrollable, clickable table. Each entry can be opened directly in your default browser with a single click.
- 🔄 Fetches the latest 30 Hacker News articles in real-time
- 🖱️ One-click access - Click any title to open in your browser
- ⚡ Refresh button for manual updates
- 🧵 Multi-threaded loading - UI stays responsive during data fetching
- 🎨 Modern interface with clean design and intuitive layout
- 📊 Status bar showing loading progress and last update time
Before running this project, ensure you have:
- Python 3.7+ installed
- pip (Python package installer)
💡 Note: Tkinter is included with most standard Python installations.
- Clone the repository
git clone https://github.com/emircanmurat/HNReader.git
cd HNReader- Create a virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate- Install dependencies
pip install -r requirements.txtRun the application:
python main.pyHow to use:
- The app window will launch automatically
- Wait for the latest 30 news titles to load
- Click any title to open it in your default browser
- Use the Refresh button to reload and update the list
HNReader/
│
├── main.py # Main application file
├── requirements.txt # Python dependencies
├── .gitignore # Git ignore rules
└── README.md # Project documentation
Contributions are welcome! Feel free to:
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - feel free to use, modify, and distribute it as you like.
Developed by Emir Can Murat
⭐ If you found this project helpful, please give it a star!
