Skip to content

erykjj/jwlmanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8b169be · Mar 23, 2025
Mar 22, 2025
Mar 22, 2025
Mar 22, 2025
Mar 23, 2025
Jan 6, 2025
Mar 22, 2025

Repository files navigation

Static Badge GitHub Downloads (all assets, all releases) CodeQL scan Static Badge

JWLManager

This is a multi-platform1 and multi-language2 application for viewing and performing various operations on the user data (Annotations, Bookmarks, Favorites, Highlights, Notes and Playlists) stored in a .jwlibrary backup archive (created from within the JW Library app3: Personal Study → Backup and Restore → Create a backup). A modified .jwlibrary archive can then be restored within the app.

In addition to the main functions of viewing, editing, exporting, importing and deleting, the application can also clean up any residual/unused records from the database. Items from different backups can be merged directly or by exporting the desired items (to a MS Excel spreadsheet or a custom text file) and importing them into an existent archive or into a new one. Exporting Notes to markdown is also possible.

Keep in mind that the more items there are to be sorted into a tree structure, the longer it will take. Also, do keep a backup until you're convinced that all is well ;-)

See here for an explanation of features and options.

preview


Usage

You can download (unzip if necessary) and launch the latest Linux binary, Windows executable, or macOS app. These are self-contained packages (with Python and dependencies included).

See here for information about security alerts, etc. The Linux binary needs to be given execute permissions: chmod +x JWLManager_* .

The state of the application (including the current language) is preserved in a JWLManager.conf file created in the same directory as the app. You can delete that file to start with default settings.

You can force the GUI to launch in a language by appending the corresponding language code parameter. So, if you want to start the app in Spanish, you would invoke it as...

  • Linux terminal: python3 JWLManager.py -es
  • Windows Comand Prompt (or shortcut): JWLManager.exe -es
  • macOS Terminal: open -a JWLManager.app --args -es

If you have Python3.11+ installed on your system and can install some of the required dependencies4, you can simply clone it:

git clone --depth 1 https://github.com/erykjj/jwlmanager.git
cd jwlmanager
pip install -r res/requirements.txt
python3 JWLManager.py

Or, make it executable first and run directly:

chmod +x JWLManager.py
./JWLManager.py

If you use the -h flag, you'll see the following options:

usage: JWLManager.py [-h] [-v] [-de | -en | -es | -fr | -it | -pl | -pt | -ru | -uk] [archive]

Manage .jwlibrary backup archives

positional arguments:
  archive        archive to open

options:
  -h, --help     show this help message and exit
  -v, --version  show version and exit

interface language:
  English by default

  -de            German (Deutsch)
  -en            English (default)
  -es            Spanish (español)
  -fr            French (français)
  -it            Italian (italiano)
  -pl            Polish (Polski)
  -pt            Portuguese (Português)
  -ru            Russian (Pусский)
  -uk            Ukrainian (українська)

Feedback, etc.

Feel free to get in touch and post any issues and/or suggestions.

My other JW Library projects: JWPubLib and jwlFusion


Footnotes:

Footnotes

  1. Requirements: Linux, MS Windows 10/11, macOS 13 "Ventura" and newer

  2. Available: Deutsch, English, español, français, italiano, Polski, Português, Pусский, українська. German needs revision; Japanese needs to be completed; other languages also welcome: Weblate.

  3. JW Library is a registered trademark of Watch Tower Bible and Tract Society of Pennsylvania.

  4. See /res/requirements.txt.

About

Multi-platform GUI for managing JW Library (.jwlibrary and .jwlplaylist) files: view, delete, edit, merge (direct or via export/import), etc.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Contributors 15

Languages