This is a simple cross-platform ebook reader built with Python and Tkinter. It supports TXT, PDF, and EPUB files (if the required libraries are installed).
- Library grid view with book cards
- Pagination (no scrolling) with page-turning
- Font size and style controls
- Chapter-aware pagination (new page at each "chapter ...")
- Add/remove ebooks
- User-friendly error messages
- Python 3.7+
- Tkinter (usually included with Python)
- PyMuPDF (
pip install pymupdf) for PDF support - EbookLib (
pip install ebooklib) for EPUB support
- Install dependencies:
(You can skip any you don't need.)
pip install pymupdf ebooklib
- Run the app:
python ebook_reader.py
You can use PyInstaller to package the app as a standalone executable:
- Install PyInstaller:
pip install pyinstaller
- Package the app:
pyinstaller --onefile --noconsole --add-data "ebooks;ebooks" ebook_reader.py- On Windows, use
;as the separator in--add-data. On Mac/Linux, use:. - This will create a
dist/ebook_reader.exe(Windows) ordist/ebook_reader(Mac/Linux).
- On Windows, use
- Distribute the
dist/folder. Make sure theebooksfolder is included.
- The app creates an
ebooksfolder for your library. - Only supported file types are shown/uploaded.
- If you want to reset your library, just delete the
ebooksfolder.
Enjoy reading!