Lector is an open source, customizable, e-book reader.
The software is in an early stage of development but shows great promise.
The application is Qt based and written in Python. It uses sqlite3 for the cover images cache, and for storing metadata. Tags are taken from the book if present, and are otherwise editable.
Key Features
- Library viewer typical of a traditional eBook reader.
- Formats supported:
- PDF (experimental);
- EPUB;
- MOBI;
- AZW, AZW3, AZW4;
- CBR, CBZ (comic book formats).
- Displays all the books in an attractive and browseable front view with book covers.
- Menu lets you sort books by author, last read, title and much more.
- Does not duplicate ebooks; instead it simply indexes your book collection. Books are not modified in any way.
- Edit book metadata like genre, title, publication year, author name.
- Highly customizable – change font size, colour, font, zooming control and so on.
- Bookmark pages and control all the bookmarking through bookmark sidebar. Create, navigate, edit and delete bookmarks by using the bookmarks sidebar.
- In-app dictionary to learn the meaning of words without having to leave the application.
- Drag and drop support for the library.
- Text annotations.
- Mass tagging.
- Full screen and distraction free modes.
- In-built internet searching.
- Remembers the reading position.
- Smooth scrolling.
- Uses the kvantum theme engine with the Adapta Nokto theme.
- Internationalization support.
Software requirements:
Qt5 – a cross-platform application framework and widget toolkit.
Python – an interpreted high-level programming language for general-purpose programming.
PyQt5 – a comprehensive set of Python bindings for Qt v5. It’s implemented as more than 35 extension modules.
python-beautifulsoup4 – a Python library for extracting data from HTML and XML files. It works with your favourite parser to provide idiomatic ways of navigating, searching, and modifying the parse tree.
poppler-qt5 – a library that allows Qt5 programmers to easily load and render PDF files.
python-poppler-qt5 – Python binding to libpoppler-qt5.
Website: github.com/BasioMeusPuga/Lector
Support: GitHub code repository
Developer: BasioMeusPuga
License: GNU GPL v3

Lector is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| GUI eBook readers | |
|---|---|
| KOReader | Versatile document viewer for a wide variety of file formats |
| Koodo Reader | All-in-one ebook reader |
| Foliate | Simple and modern GTK eBook viewer. It's beautifully designed |
| Calibre | e-book library management application with excellent feature set |
| readest | Modern, feature-rich ebook reader |
| Thorium | Desktop reading app, based on the Readium Desktop toolkit. |
| Librum | Modern e-book reader and library manager |
| Lector | Qt based e-book reader |
| Bookworm | Simple, focused e-book reader |
| Arianna | ebook reader and library management app |
| crqt-ng | Fork of the CoolReader project |
| CoolReader | Cross-platform XML/CSS based eBook reader |
| apvlv | PDF/EPUB/TXT/FB2/MOBI/CBZ/HTML …viewer |
| FBReader | Makes it simple to access free literature |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

