/jwlmanager

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

Primary LanguagePythonMIT LicenseMIT

JWLManager

Looking for help with translation1 on Weblate Translation status

Please join the discussion and give your ideas

Purpose

This is a multi-platform and multi-language application2 for viewing and performing various operations on the user data (Notes, Highlights, Favorites, Bookmarks, Annotations 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 and re-index the various tables within the database. Items from different backups can be merged 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.

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 ;-)

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_* .

You can launch the GUI in the desired language by appending the corresponding language code parameter. So, if you want to start the app in Spanish (instead of the default English), 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 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.

If you have Python 3 installed on your system and can install some of the required libraries/dependencies4, download and extract the latest release source code; then execute to run (from inside JWLManager folder):

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]

Manage .jwlibrary backup archives

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 (українська)

Operation

See here for an explanation of how to use.


Feedback, etc.

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

RSS of releases

My other JW Library project: JWPubLib


Footnotes:

Footnotes

  1. German needs revision; Chinese and Japanese need to be completed; other languages also welcome.

  2. Requirements: Linux, MS Windows 10/11, macOS 11 "Big Sur" and newer

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

  4. Install via pip install -r requirements.txt. The requirements.txt file can be found in the /res forlder.