Skip to main content

A PDF reader desktop app

Project description

Book-Reading-GUI-app

📖 Read da Book

A lightweight PDF reader desktop app built with Python and CustomTkinter. Supports adding PDFs from your local machine or directly from a URL, with lazy rendering for smooth performance on large documents.

Python Platform PyPI


Features

  • 📂 Add PDFs from your local file system
  • 🌐 Add PDFs directly from a URL
  • 🔍 Zoom in and out while staying on the current page
  • ⬅️ ➡️ Navigate pages with previous/next buttons or by typing a page number
  • 💾 Automatically saves and restores your reading progress per book
  • ⚡ Lazy rendering — only renders pages near the visible area for smooth scrolling on large documents
  • 🗂️ Persistent library — your added PDFs are saved and restored on every startup

Installation

pip install pdfreading-app

Then launch it from anywhere with:

pdfreading-app

Requirements

  • Python 3.9+
  • Windows, macOS, or Linux

Dependencies are installed automatically:

Linux / macOS users: Tkinter does not come pre-installed on all systems. If you get a No module named 'tkinter' error, install it manually:

Ubuntu / Debian:

sudo apt install python3-tk

Fedora:

sudo dnf install python3-tkinter

macOS (Homebrew):

brew install python-tk

Run from source

# Clone the repo
git clone https://github.com/Vannphreak-Choup/Book-Reading-GUI-app.git
cd Book-Reading-GUI-app

# Create and activate a virtual environment
python -m venv .venv
.venv\Scripts\activate        # Windows
source .venv/bin/activate     # macOS / Linux

# Install in editable mode
pip install -e .

# Run
python -m pdfreading.main

Project Structure

src/
└── pdfreading/
    ├── main.py              # entry point
    ├── assets/              # icons and images
    ├── openDialog/          # file and URL dialogs
    │   ├── AddFile.py
    │   └── Addurl.py
    └── utils/
    |   ├── Data.py          # shared app state
    |   ├── UI.py            # UI layout
    |   └── functionality.py # core logic
    └── main.py

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdfreading_app-0.1.3.tar.gz (58.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pdfreading_app-0.1.3-py3-none-any.whl (110.3 kB view details)

Uploaded Python 3

File details

Details for the file pdfreading_app-0.1.3.tar.gz.

File metadata

  • Download URL: pdfreading_app-0.1.3.tar.gz
  • Upload date:
  • Size: 58.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pdfreading_app-0.1.3.tar.gz
Algorithm Hash digest
SHA256 7a70d94b72516d4577adeced6c53885519b4646b7e38f0c41aed898ba4b3d511
MD5 57a12abb505fac1fdb26b4121ab283de
BLAKE2b-256 ec213d589c7c9e0f0a90b7f547fd28d8bb2edbf4a542563aec3a47549dc57c90

See more details on using hashes here.

File details

Details for the file pdfreading_app-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: pdfreading_app-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 110.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pdfreading_app-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 543ec800802a11dd20295ea903176c215d923a6bf8cfc2782135f067cff0b2f9
MD5 d16fc1e4b3544c1eb48254d88ef5ef86
BLAKE2b-256 9046357dc61feb14235dd6e8050b2f116815912ee4990fc2a09bf97b2439d60b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page