Skip to content

blindpandas/bookworm

Repository files navigation

Bookworm

Bookworm is an accessible document reader that enables blind and visually impaired individuals to read documents in an easy and hassle free manor. The main highlights of bookworm are:

  • Supports over 20 document formats
  • Support for named bookmarks. This enables you to mark interesting positions in the text for later reference
  • Support for adding comments to capture an interesting thought or create a summary of the content at a particular position in the text. Bookworm allows you to quickly jump to a specific comment and view it. Later, you can export these comments to a text file or HTML document for later use.
  • Two different styles of viewing pages; plain-text and fully rendered, zoomable, images.
  • Full text search with customizable search options
  • Book navigation via Table of content is extensively supported for all document formats
  • Support for reading books aloud using Text-to-speech, with configurable voice parameters.
  • The ability to customize text-to-speech with voice profiles. Each voice profile configures the style of the speech, and you can freely activate/deactivate a voice profile anytime.
  • Support for standard zoom-in/zoom-out/reset commands. This is supported in the textual view and the rendered page view.
  • Support for exporting any document format to a plain text file.

IMPORTANT

Bookworm's official website is currently no more. The domain which has worked up until now has currently not been renewed, and as such bookworm will no longer be provided there until further notice. We urge you not to interact with that domain, as we're no longer in charge of it. You can keep downloading bookworm from the releases page for the most recent ones.

Resources

Development

If you would like to contribute to Bookworm's development, please follow the following steps to get bookworm up and running on your computer:

Required Binaries

You need the following binaries to develop Bookworm:

  1. Python: currently we use Python 3.10 series: Grab the latest version from python.org
  2. GNU win32 tools: the easiest way to get those is to install Git. Since Git comes with these binaries you can simply add them to your path. For example, if git was installed to: "C:\Program Files\Git". Then you need to add the following directory to your path: "C:\Program Files\Git\mingw64\bin".
  3. NSIS: for creating Windows installers. Get it from NSIS download page and add it to your path.
  4. Optionally, you need Visual Studio 2019 with the Windows 10 development workload to compile some libraries.

Prepare the source tree

Bookworm is composed of many components. To prepare your source tree and run Bookworm for the first time, follow these steps:

  • Get the source code by cloneing this repo:
git clone https://github.com/blindpandas/bookworm.git
cd bookworm
  • Create a virtual environment:
python -m venv .env
.env\\scripts\\activate
  • Install "invoke" : invoke is the command runner we use to define and run the build process. Install it from pip using:
pip install invoke
  • Then run the following command to prepare your development environment:
invoke dev

This should install the development and application dependencies and prepare the source tree.

  • If everything worked as expected, you can now run Bookworm using the following command:
invoke run

This should run Bookworm with debug mode enabled. To run the app with debug mode disabled you can do:

invoke run --no-debug

Another way to run the app is to execute the package directly. In this case, you can turn on debug mode yourself using the "--debug" flag. To execute the package, you can do:

py -m bookworm --debug
  • All the build/deployment commands are available in the tasks.py script. To view a list of these commands, issue the following in your terminal:
invoke --list

As an example, to build Bookworm, issue the following command:

invoke build
  • If you've found a bug, or you want to contribute your changes back to bookworm, please create an issue or submit a pull request. We welcome any contribution, no matter how small it is.

Telegram group

You can discuss Bookworm, help others or make suggestions in the official Telegram group. Join it by visiting this link

Telegram channel

The Telegram channel will be dedicated to publishing new features, changes and fixes will be posted. All discussions will continue in the main group and files will also be available for download from the main group.

License

Bookworm is copyright (c) 2019-2023 Blind Pandas Team. It is licensed under the GNU General Public License.