Lector – Qt based e-book Reader

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.

Features include:

  • 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.

Return to e-book Tools Home Page

Make a Donation
Click the button to make a donation via flattr. Donations help us to maintain and improve the site. You can also donate via PayPal.

Read our complete collection of recommended free and open source software. The collection covers all categories of software.

The software collection forms part of our series of informative articles for Linux enthusiasts. There's tons of in-depth reviews, alternatives to Google, fun things to try, hardware, free programming books and tutorials, and much more.
Share this article