A calibre plugin that generates Word Wise and X-Ray files then sends them to Kindle. Supports KFX, AZW3 and MOBI eBooks. X-Ray supports 18 languages.

Overview

WordDumb

A calibre plugin that generates Word Wise and X-Ray files then sends them to Kindle. Supports KFX, AZW3 and MOBI eBooks.

Languages X-Ray supports: Català, Dansk, Deutsch, English, Español, Français, Italiano, Lietuvių, Nederlands, Norsk bokmål, Polski, Português, Română, Ελληνικά, Македонски, Русский, 中文, 日本語.

screenshot

Contribute

Please read CONTRIBUTING.

How to use

  • Install 64bit calibre

    • Arch Linux
    # pacman -Syu --needed calibre
    
    • Other Linux distros
    $ sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
    
    $ brew install calibre
    
    # choco install calibre
    
  • Install Python(pip) for X-Ray

    • Arch Linux
    # pacman -Syu --needed python-pip
    
    • Debian based distro
    $ sudo apt install python3-pip
    
    • macOS
    $ brew install python
    
    # choco install python
    
  • Install WordDumb:

install.mov
  • Install KFX Input plugin for KFX books(optional if you don't use this format).

  • Set preferences

    • Enable "search people" option for nonfiction books and novels that have character pages on Wikipedia to add people descriptions in X-Ray.

    • Larger spaCy model has higher Named-entity recognition precision therefore improves X-Ray quality, more details at https://spacy.io/models/en

preferences.mov
  • Connect Kindle to calibre, select one book or multiple books then click the plugin icon or menu.
usage.mov

I need about tree-fiddy

Donate using Liberapay

License

This work is licensed under GPL version 3 or later.

Icon made by Freepik from www.flaticon.com.

Comments
  • Torch not compiled with CUDA enabled

    Torch not compiled with CUDA enabled

    Checkboxes

    • [X] I have read the README file.
    • [X] I have not found similar issue or disscussion at GitHub.

    Describe the bug

    WordDumb Fail to use GPU to create X-Ray file (when CUDA is disabled everything works fine).

    A fresh installation of the plugin installs worddumb-libs-py3.8, worddumb-libs-py3.10, worddumb-wikimedia in Calibre plugin directory.

    But Python 3.8 is invoked instead of Python 3.10 (which I think is required, per your documentation).

    If that is relevant, a separate Python 3.10 directory is in my OS PATH.

    System Information

    OS: Windows 10 Pro 64bit Calibre: version 6.9.0 64bit Python: version 3.10.8 64bit Plugin: version 3.27.1 (+"space in user name" patch)

    Error message

    calibre, version 6.9.0 (win32, embedded-python: True)
    Tonnerre de Brest!: Une erreur s'est produite, veuillez copier le message d'erreur et rapportez le problème à GitHub.
    
    Starting job: Générant X-Ray pour The Mythical Man-Month 
    Job: "Générant X-Ray pour The Mythical Man-Month" failed with error: 
    Traceback (most recent call last):
      File "calibre\gui2\threaded_jobs.py", line 82, in start_work
      File "calibre_plugins.worddumb.parse_job", line 162, in do_job
      File "calibre_plugins.worddumb.utils", line 47, in run_subprocess
      File "subprocess.py", line 524, in run
    subprocess.CalledProcessError: Command '['py', 'C:\\Users\\Normand Boivin\\AppData\\Roaming\\calibre\\plugins\\WordDumb.zip', 'BB3J0DJUK4', 'H:\\NB\\Bibliothèque Calibre\\Frederick P. Brooks Jr_\\The Mythical Man-Month (6291)\\The Mythical Man-Month - Frederick P. Brooks Jr_.azw3', 'The_Mythical_Man-Month', '0b9790f2', 'en_core_web_trf', 'en', 'en', 'utf-8', 'WordDumb/3.27.1 (https://github.com/xxyzz/WordDumb)', 'cn', '', 'AZW3', '1', 'C:\\Users\\Normand Boivin\\AppData\\Roaming\\calibre\\plugins\\WordDumb.zip', '', '-x', '-s']' returned non-zero exit status 1.
     
    Called with args: ((6291, 'AZW3', 'H:\\NB\\Bibliothèque Calibre\\Frederick P. Brooks Jr_\\The Mythical Man-Month (6291)\\The Mythical Man-Month - Frederick P. Brooks Jr_.azw3', <calibre.ebooks.metadata.book.base.Metadata object at 0x000001B1952E3C70>, {'spacy': 'en_core_web_', 'wiki': 'en', 'kaikki': 'English', 'gloss': True, 'has_trf': True}), False, True) {'notifications': <queue.Queue object at 0x000001B1952E18D0>, 'abort': <threading.Event object at 0x000001B1952E3940>, 'log': <calibre.utils.logging.GUILog object at 0x000001B1952E3880>} 
    Traceback (most recent call last):
      File "C:\Python38\lib\runpy.py", line 194, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "C:\Python38\lib\runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\WordDumb.zip\__main__.py", line 56, in <module>
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\WordDumb.zip\parse_job.py", line 221, in create_files
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\WordDumb.zip\parse_job.py", line 561, in load_spacy
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy\__init__.py", line 54, in load
        return util.load_model(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy\util.py", line 432, in load_model
        return load_model_from_package(name, **kwargs)  # type: ignore[arg-type]
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy\util.py", line 468, in load_model_from_package
        return cls.load(vocab=vocab, disable=disable, enable=enable, exclude=exclude, config=config)  # type: ignore[attr-defined]
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\en_core_web_trf\__init__.py", line 10, in load
        return load_model_from_init_py(__file__, **overrides)
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy\util.py", line 649, in load_model_from_init_py
        return load_model_from_path(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy\util.py", line 506, in load_model_from_path
        nlp = load_model_from_config(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy\util.py", line 554, in load_model_from_config
        nlp = lang_cls.from_config(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy\language.py", line 1818, in from_config
        nlp.add_pipe(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy\language.py", line 801, in add_pipe
        pipe_component = self.create_pipe(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy\language.py", line 680, in create_pipe
        resolved = registry.resolve(cfg, validate=validate)
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\confection\__init__.py", line 728, in resolve
        resolved, _ = cls._make(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\confection\__init__.py", line 777, in _make
        filled, _, resolved = cls._fill(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\confection\__init__.py", line 832, in _fill
        filled[key], validation[v_key], final[key] = cls._fill(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\confection\__init__.py", line 849, in _fill
        getter_result = getter(*args, **kwargs)
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy_transformers\architectures.py", line 234, in create_TransformerModel_v3
        model = TransformerModel(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy_transformers\layers\transformer_model.py", line 45, in __init__
        wrapper = HFWrapper(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy_transformers\layers\hf_wrapper.py", line 53, in HFWrapper
        HFShim(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\spacy_transformers\layers\hf_shim.py", line 41, in __init__
        super().__init__(
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\thinc\shims\pytorch.py", line 47, in __init__
        device = get_torch_default_device()
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\thinc\util.py", line 41, in get_torch_default_device
        device_id = torch.cuda.current_device()
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\torch\cuda\__init__.py", line 552, in current_device
        _lazy_init()
      File "C:\Users\Normand Boivin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.8\torch\cuda\__init__.py", line 221, in _lazy_init
        raise AssertionError("Torch not compiled with CUDA enabled")
    AssertionError: Torch not compiled with CUDA enabled
    

    Reproduce steps

    1. Configure worddumb to "run spaCy with GPU"
    2. Create X-Ray

    Screenshots or videos

    No response

    opened by miiPoP 23
  • Tonnerre de Brest!: The plugin works for Word Wise, but not for X-Ray

    Tonnerre de Brest!: The plugin works for Word Wise, but not for X-Ray

    Checkboxes

    • [X] I have read the README file.
    • [X] I have not found similar issue or disscussion at GitHub.

    Describe the bug

    Since I updated both Calibre and plugin a couple of days ago, I always get the same error message over and over, saying that there's an error while creating the X-Ray feature for the books. I followed the plugin guide, and even the settings are the same, and I noticed that Word Wise was okay for the books I tried.

    I've tried everything: uninstalling the plugin, updating Python, restarting the program and my computer and nothing worked. Not only that, but I even tried with different book formats (epub, azw3, mobi), and got nothing. I also tried posting on Reddit and people there told me to post in here and MobileRead Forum, so here I am! I'm not a techie or anything like that, so what do I do now?

    System Information

    OS: Windows 10 Pro 32bit Calibre: version 6.9.0 64bit Python: version 3,11,0 64bit Plugin: version 3.27.1

    Error message

    **_calibre, version 6.9.0 (win32, embedded-python: True)
    
    Tonnerre de Brest!: An error occurred, please copy error message then report bug at GitHub.
    
    
    
    Starting job: Generating Word Wise and X-Ray for Queen Move
    
    Job: "Generating Word Wise and X-Ray for Queen Move" failed with error:
    
    Traceback (most recent call last):
    
    File "calibre\gui2\threaded_jobs.py", line 82, in start_work
    
    File "calibre_plugins.worddumb.parse_job", line 111, in do_job
    
    File "calibre_plugins.worddumb.deps", line 47, in install_deps
    
    File "calibre_plugins.worddumb.deps", line 134, in pip_install
    
    File "calibre_plugins.worddumb.utils", line 47, in run_subprocess
    
    File "[subprocess.py](https://subprocess.py/)", line 524, in run
    
    subprocess.CalledProcessError: Command '['calibre-debug', '-e', 'C:/Users/Thais/__pip-runner__.py', '--', '--disable-pip-version-check', 'install', '-U', '-t', WindowsPath('C:/Users/Thais Passos/AppData/Roaming/calibre/plugins/worddumb-libs-py3.10'), '--no-user', 'rapidfuzz==2.13.2']' returned non-zero exit status 1.
    
    Called with args: ((258, 'AZW3', 'C:\\Users\\Thais Passos\\Calibre Library\\Kennedy Ryan\\Queen Move (258)\\Queen Move - Kennedy Ryan.azw3', <calibre.ebooks.metadata.book.base.Metadata object at 0x000002A33FE8CB20>, {'spacy': 'en_core_web_', 'wiki': 'en', 'kaikki': 'English', 'gloss': True, 'has_trf': True}), True, True) {'notifications': <queue.Queue object at 0x000002A340F8D570>, 'abort': <threading.Event object at 0x000002A340F8D450>, 'log': <calibre.utils.logging.GUILog object at 0x000002A340F8C8B0>}
    
    Traceback (most recent call last):
    
    File "[runpy.py](https://runpy.py/)", line 196, in _run_module_as_main
    
    File "[runpy.py](https://runpy.py/)", line 86, in _run_code
    
    File "[site.py](https://site.py/)", line 83, in <module>
    
    File "[site.py](https://site.py/)", line 78, in main
    
    File "[site.py](https://site.py/)", line 50, in run_entry_point
    
    File "calibre\[debug.py](https://debug.py/)", line 275, in main
    
    File "calibre\[debug.py](https://debug.py/)", line 208, in run_script
    
    File "polyglot\[builtins.py](https://builtins.py/)", line 107, in exec_path
    
    FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Thais\\__pip-runner__.py'**
    

    Reproduce steps

    1. Click on plugin to start creating Word Wise and X-Ray
    2. Wait a couple of seconds
    3. See an error message "Tonnerre de Brest!: An error occurred, please copy error message then report bug at GitHub."

    Screenshots or videos

    No response

    opened by ThaayP 17
  • Multithreading support?

    Multithreading support?

    Hi, not sure if multithreading is the correct word for it, but you'll get the gist of it. I'm a brand new user, apologies if I'm missing anythingn but on my install, when generating word wise & x-ray for ~50 ebooks, it takes about 15 mins I was a little surprised since it also froze calibre for a few seconds, I then checked the job list and the plugin was going through the books one by one, so here I am.

    Is the behaviour described the correct one? Are there any way improvements can be made? for example following calibre's max simultaneous job limit, custom amount set in the preferences, etc...

    Edit: Wording

    opened by JCalebBR 17
  • Use locally downloaded Wiktionary data to generate Word Wise for epubs

    Use locally downloaded Wiktionary data to generate Word Wise for epubs

    Describe the bug

    Thank you so much for creating this great plugin!

    I encountered the following error while trying to generate Word Wise for an epub file. I think it's because the access to the website hosting the Wiktionary data is blocked.

    Since I can download the database manually via a browser routed with a proxy, is it possible to add an option asking the Worddumb plugin to use the database on my computer I downloaded?

    System Information

    calibre, version 6.1.0 (win32, embedded-python: True)

    Error message

    Tonnerre de Brest!: An error occurred, please copy error message then report bug at GitHub.
    
    Starting job: Generating Word Wise for How to Lie with Statistics 
    Job: "Generating Word Wise for How to Lie with Statistics" failed with error: 
    Traceback (most recent call last):
      File "calibre\gui2\threaded_jobs.py", line 82, in start_work
      File "calibre_plugins.worddumb.parse_job", line 87, in do_job
      File "calibre_plugins.worddumb.parse_job", line 188, in dump_wiktionary_job
      File "calibre_plugins.worddumb.data.wiktionary", line 144, in download_and_dump_wiktionary
      File "calibre_plugins.worddumb.data.wiktionary", line 47, in extract_wiktionary
      File "json\__init__.py", line 346, in loads
      File "json\decoder.py", line 337, in decode
      File "json\decoder.py", line 353, in raw_decode
    json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 4954 (char 4953)
    

    Reproduce steps

    Called with args: ((517, 'EPUB', 'C:\Users\Administrator\Calibre Library\Darrell Huff; Irving Geis\How to Lie with Statistics (517)\How to Lie with Statistics - Darrell Huff; Irving Geis.epub', <calibre.ebooks.metadata.book.base.Metadata object at 0x00000284096F0A30>, {'spacy': 'en_core_web_', 'wiki': 'en', 'kaikki': 'English'}), True, False) {'notifications': <queue.Queue object at 0x00000284096F0BB0>, 'abort': <threading.Event object at 0x00000284096F08E0>, 'log': <calibre.utils.logging.GUILog object at 0x00000284096F0C40>}

    Screenshots or videos

    No response

    opened by woaidangyang 16
  • Error message on macOS 13.1 (M2)

    Error message on macOS 13.1 (M2)

    Checkboxes

    • [X] I have read the README file.
    • [X] I have not found similar issue or disscussion at GitHub.

    Describe the bug

    I can't process any books; I get the same error as pasted below.

    I am sorry in advance if this is a dumb issue - I am very inexperienced with this stuff. I followed the instructions as best I could (had some trouble using Brew, so installed Command Line Tools).

    Thanks!

    System Information

    OS: macOS Ventura 13.1 (M2) Calibre: 6.10.0 Python: Version 3.11.1 (3.11.1) Plugin: 3.28.1

    Error message

    calibre, version 6.10.0 (darwin, embedded-python: True)
    Tonnerre de Brest!: An error occurred, please copy error message then report bug at GitHub.
    
    Starting job: Generating Word Wise and X-Ray for Death's End 
    Job: "Generating Word Wise and X-Ray for Death's End" failed with error: 
    Traceback (most recent call last):
      File "calibre/gui2/threaded_jobs.py", line 82, in start_work
      File "calibre_plugins.worddumb.parse_job", line 167, in do_job
        run_subprocess(args, input_str)
      File "calibre_plugins.worddumb.utils", line 59, in run_subprocess
        return subprocess.run(
      File "subprocess.py", line 524, in run
    subprocess.CalledProcessError: Command '['/usr/bin/python3', '/Users/brockellett/Library/Preferences/calibre/plugins/WordDumb.zip', 'B00WDVKZY0', "/Users/brockellett/Library/CloudStorage/[email protected]/My Drive/File/Calibre Library/Cixin Liu/Death's End (114)/Death's End - Cixin Liu.azw3", "Death's_End", 'bc309994', 'en_core_web_md', 'en', 'en', 'utf-8', 'WordDumb/3.28.1 (https://github.com/xxyzz/WordDumb)', 'cn', '', 'AZW3', '1', '/Users/brockellett/Library/Preferences/calibre/plugins/WordDumb.zip', '', '-l', '-x', '-s']' returned non-zero exit status 1.
     
    Called with args: ((114, 'AZW3', "/Users/brockellett/Library/CloudStorage/[email protected]/My Drive/File/Calibre Library/Cixin Liu/Death's End (114)/Death's End - Cixin Liu.azw3", <calibre.ebooks.metadata.book.base.Metadata object at 0x154077880>, {'spacy': 'en_core_web_', 'wiki': 'en', 'kaikki': 'English', 'gloss': True, 'has_trf': True}), True, True) {'notifications': <queue.Queue object at 0x154075e70>, 'abort': <threading.Event object at 0x154075270>, 'log': <calibre.utils.logging.GUILog object at 0x154077550>} 
    Traceback (most recent call last):
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/runpy.py", line 197, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "/Users/brockellett/Library/Preferences/calibre/plugins/WordDumb.zip/__main__.py", line 13, in <module>
      File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
      File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
      File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
      File "<frozen zipimport>", line 259, in load_module
      File "/Users/brockellett/Library/Preferences/calibre/plugins/WordDumb.zip/dump_kindle_lemmas.py", line 13, in <module>
    TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
    

    Reproduce steps

    1. Select book
    2. Push on the WordDumb button in Calibre
    3. Issue presents

    Screenshots or videos

    No response

    opened by brock27625 15
  • No module named 'click._bashcomplete'

    No module named 'click._bashcomplete'

    Hello, i use calibre 5.22.1 on arch linux (installed through pacman). I tried creating an x-ray file for an epub file I had converted to AZW3. here is the relevant part of the calibre log calibre-log.txt

    opened by DorBreger 15
  • Bug when trying to run plugin

    Bug when trying to run plugin

    calibre, version 6.10.0 (darwin, embedded-python: True) Tonnerre de Brest!: An error occurred, please copy error message then report bug at GitHub.

    Starting job: Generating Word Wise and X-Ray for Red War Job: "Generating Word Wise and X-Ray for Red War" failed with error: Traceback (most recent call last): File "calibre/gui2/threaded_jobs.py", line 82, in start_work File "calibre_plugins.worddumb.parse_job", line 167, in do_job run_subprocess(args, input_str) File "calibre_plugins.worddumb.utils", line 59, in run_subprocess return subprocess.run( File "subprocess.py", line 524, in run subprocess.CalledProcessError: Command '['/usr/local/bin/python3', '/Users/mini/Library/Preferences/calibre/plugins/WordDumb.zip', 'B07B3WJ9X7', '/Users/mini/Calibre Library/Vince Flynn/Red War (145)/Red War - Vince Flynn.azw3', 'Red_War', '1b1ca15b', 'en_core_web_lg', 'en', 'en', 'utf-8', 'WordDumb/3.28.0 (https://github.com/xxyzz/WordDumb)', 'cn', '', 'AZW3', '1', '/Users/mini/Library/Preferences/calibre/plugins/WordDumb.zip', '', '-l', '-x', '-s']' returned non-zero exit status 1.

    Called with args: ((145, 'AZW3', '/Users/mini/Calibre Library/Vince Flynn/Red War (145)/Red War - Vince Flynn.azw3', <calibre.ebooks.metadata.book.base.Metadata object at 0x11d2cf8e0>, {'spacy': 'en_core_web_', 'wiki': 'en', 'kaikki': 'English', 'gloss': True, 'has_trf': True}), True, True) {'notifications': <queue.Queue object at 0x11d2cddb0>, 'abort': <threading.Event object at 0x11d2cea40>, 'log': <calibre.utils.logging.GUILog object at 0x11d2cef80>} Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 87, in _run_code exec(code, run_globals) File "/Users/mini/Library/Preferences/calibre/plugins/WordDumb.zip/main.py", line 13, in File "", line 991, in _find_and_load File "", line 975, in _find_and_load_unlocked File "", line 655, in _load_unlocked File "", line 618, in _load_backward_compatible File "", line 259, in load_module File "/Users/mini/Library/Preferences/calibre/plugins/WordDumb.zip/dump_kindle_lemmas.py", line 13, in TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

    opened by UKFan643 11
  • X-Ray not showing characters description but only a quote.

    X-Ray not showing characters description but only a quote.

    Hi,

    as mentioned on the forums i have an issue with the WordDumb plugin.

    It generates the word wise and x-ray but the x-ray is not working properly. I tried with 2 books and i have the same outcome on both.

    I will attach one of the books. Had to zip it to be able to upload.

    What happens is that when i select a character x-ray only displays a quote for it from the book and not the description for the character.

    Will also attach a screenshot from my Kindle Paperwhite. img1

    Thanks in advance!

    opened by steakhutzeee 11
  • x-ray didn't show up on kindle

    x-ray didn't show up on kindle

    Describe the bug when i transfer the file to kindle, the x-ray didn't show up

    System Information

    • OS: Macos 12.2.1
    • calibre version: 5.37, 64bit
    • Python version: 2.7.18
    • Plugin version 3.18.4

    To Reproduce Steps to reproduce the behavior:

    1. Go to 'WordDumb plugin'
    2. Click on 'generate x-ray'
    3. after the job is done send it to your kindle
    4. x-ray doesn't appear

    Extra Information the kindle stays on airplane mode

    bug 
    opened by jackstewert 10
  • Problem with new test feature: Word Wise for EPUB books

    Problem with new test feature: Word Wise for EPUB books

    Describe the bug

    All Spanish books I've test are perfectly generated, by English books are bad generated. Many lines over the word without definition or repeated definitions.
    I enclose examples.

    System Information

    OS: Windows 11 calibre version: Last one Phyton version: Python 3.10.5 Plugin version: 3,24.0 (last in GitHub Actions right now)

    Error message

    No error message
    

    Reproduce steps

    1. Generate epub with word wise

    Screenshots or videos

    1 2

    opened by Phobooky 9
  • TypeError: 'NoneType' object is not subscriptable

    TypeError: 'NoneType' object is not subscriptable

    Recently I've found your plugin and it is brilliant. However, when I perform WordDumb on some books, I get a TypeError: 'NoneType' object is not subscriptable. Details (copy from calibre):

    calibre, version 5.16.0
    ERROR: Unhandled exception: <b>TypeError</b>:'NoneType' object is not subscriptable
    
    calibre 5.16 [64bit]  embedded-python: True is64bit: True
    Windows-10-10.0.19041 Windows ('64bit', 'WindowsPE')
    ('Windows', '10', '10.0.19041')
    Python 3.8.5
    Windows: ('10', '10.0.19041', '', 'Multiprocessor Free')
    Interface language: None
    Successfully initialized third party plugins: Find Duplicates (1, 8, 5) && WordDumb (3, 6, 3)
    Traceback (most recent call last):
      File "calibre\gui2\__init__.py", line 499, in dispatch
      File "calibre_plugins.worddumb.main", line 71, in done
      File "calibre_plugins.worddumb.send_file", line 69, in send
      File "calibre_plugins.worddumb.send_file", line 36, in send_files
    TypeError: 'NoneType' object is not subscriptable
    

    Anyway, thanks for your help and brilliant work!

    opened by datthinh1801 9
  • Windows permission error when running X-Ray

    Windows permission error when running X-Ray

    Checkboxes

    • [X] I have read the README file.
    • [X] I have not found similar issue or disscussion at GitHub.

    Describe the bug

    I've recently reinstalled calibre on a brand new laptop and whenever I try to generate X-Ray for any book, it does not work properly.

    System Information

    OS: Windows 11 Pro Version 22H2 build 22621.900 calibre version: 6.9.0, 64bit Python version: 3.11.0, 64bit Plugin version: 3.28.0

    Error message

    calibre, version 6.9.0 (win32, embedded-python: True)
    Tonnerre de Brest!: An error occurred, please copy error message then report bug at GitHub.
    
    Starting job: Generating Word Wise e X-Ray for What If? 2: Additional Serious Scientific Answers to Absurd Hypothetical Questions 
    Job: "Generating Word Wise e X-Ray for What If? 2: Additional Serious Scientific Answers to Absurd Hypothetical Questions" failed with error: 
    Traceback (most recent call last):
      File "calibre\gui2\threaded_jobs.py", line 82, in start_work
      File "calibre_plugins.worddumb.parse_job", line 119, in do_job
      File "calibre_plugins.worddumb.deps", line 54, in install_deps
      File "calibre_plugins.worddumb.deps", line 158, in pip_install
      File "calibre_plugins.worddumb.utils", line 50, in run_subprocess
      File "subprocess.py", line 524, in run
    subprocess.CalledProcessError: Command '['calibre-debug', '-e', 'C:/Users/vcarpes/AppData/Local/Programs/Python/Python311/Lib/site-packages/pip/__pip-runner__.py', '--', '--disable-pip-version-check', 'install', '-U', '-t', 'C:\\Users\\vcarpes\\AppData\\Roaming\\calibre\\plugins\\worddumb-libs-py3.10', '--no-user', 'https://github.com/explosion/spacy-models/releases/download/en_core_web_lg-3.4.1/en_core_web_lg-3.4.1-py3-none-any.whl']' returned non-zero exit status 2.
     
    Called with args: ((323, 'AZW3', 'C:\\Users\\vcarpes\\OneDrive\\Calibre\\Randall Munroe\\What If_ 2_ Additional Serious Scie (323)\\What If_ 2_ Additional Serious - Randall Munroe.azw3', <calibre.ebooks.metadata.book.base.Metadata object at 0x000001D786BE4DF0>, {'spacy': 'en_core_web_', 'wiki': 'en', 'kaikki': 'English', 'gloss': True, 'has_trf': True}), True, True) {'notifications': <queue.Queue object at 0x000001D786BE7310>, 'abort': <threading.Event object at 0x000001D786BE7A90>, 'log': <calibre.utils.logging.GUILog object at 0x000001D786BE7BE0>} 
    ERROR: Exception:
    Traceback (most recent call last):
      File "C:\Users\vcarpes\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_internal\cli\base_command.py", line 160, in exc_logging_wrapper
      File "C:\Users\vcarpes\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_internal\cli\req_command.py", line 247, in wrapper
      File "C:\Users\vcarpes\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_internal\commands\install.py", line 553, in run
      File "C:\Users\vcarpes\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_internal\commands\install.py", line 608, in _handle_target_dir
      File "shutil.py", line 739, in rmtree
      File "shutil.py", line 617, in _rmtree_unsafe
      File "shutil.py", line 615, in _rmtree_unsafe
    PermissionError: [WinError 5] Access is denied: 'C:\\Users\\vcarpes\\AppData\\Roaming\\calibre\\plugins\\worddumb-libs-py3.10\\blis\\cy.cp310-win_amd64.pyd'
    

    Reproduce steps

    1. Click the icon to generate X-Ray
    2. Look at the error
    3. Get confused
    4. Go to github to ask for help

    Screenshots or videos

    No response

    opened by victorscarpes 3
  • Using spacy for POS detection when creating word wise epub

    Using spacy for POS detection when creating word wise epub

    First of all, thank you for all your hard work on this extension! It is a really impressive and cool feature.

    If I understand it correctly, you currently use spacy for named entitiy recognition for X-ray. I think it would also be cool if you could use Spacy's POS detection to get the correct translation of a word for word wise. This is especially useful for languages like Spanish, where verbs and nouns are often written the same. I tested it a bit, and spacy is pretty good at telling them apart, so this could improve the accuracy of the translations quite a bit.

    opened by Vuizur 2
  • No module named 'numpy.core._multiarray_umath'

    No module named 'numpy.core._multiarray_umath'

    Error happens in generating X-ray:

    Starting job: Generating Word Wise and X-Ray for Everything Is Fcked (9780062888471) Job: "Generating Word Wise and X-Ray for Everything Is Fcked (9780062888471)" failed with error: Traceback (most recent call last): File "C:\Users\Admin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.10\numpy\core_init_.py", line 23, in File "C:\Users\Admin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.10\numpy\core\multiarray.py", line 10, in File "C:\Users\Admin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.10\numpy\core\overrides.py", line 6, in ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "calibre\gui2\threaded_jobs.py", line 82, in start_work File "calibre_plugins.worddumb.parse_job", line 61, in do_job File "calibre_plugins.worddumb.parse_job", line 92, in create_files File "C:\Users\Admin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.10\spacy_init_.py", line 11, in File "C:\Users\Admin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.10\thinc_init_.py", line 2, in File "C:\Users\Admin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.10\numpy_init_.py", line 144, in File "C:\Users\Admin\AppData\Roaming\calibre\plugins\worddumb-libs-py3.10\numpy\core_init_.py", line 49, in ImportError:

    IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

    Importing the numpy C-extensions failed. This error can happen for many reasons, often due to issues with your setup or how NumPy was installed.

    We have compiled some common reasons and troubleshooting tips at:

    https://numpy.org/devdocs/user/troubleshooting-importerror.html
    

    Please note and check the following:

    • The Python version is: Python3.10 from "C:\Program Files\Calibre2\calibre.exe"
    • The NumPy version is: "1.22.2"

    and make sure that they are the versions you expect. Please carefully study the documentation linked above for further help.

    Original error was: No module named 'numpy.core._multiarray_umath'

    I installed python 3.10.1 And there is no folder AppData\Roaming\calibre\plugins\worddumb-libs-py3.10. Only file in folder C:\Users\Admin\Calibre Library

    Please advise how can I fix this.

    opened by lirean 1
  • X-Ray is not hideen beyond the point of reading

    X-Ray is not hideen beyond the point of reading

    Describe the bug

    As you can see in the screenshots (second to the end), X-Ray is hidden beyond the point of reading to protect the appareances of the character in future reading (spoilers). This not happen is your X-Ray files as you can see in the first screenshot. All of the images have been taken having the point of reading in the middle of the book more or less. By the way, with the standard way of working, if you want to go beyond the point of reading, you can do it, as you can see in the other screenshots. I enclose a correct X-Ray file.

    System Information

    OS: Windows 11 calibre version: Last one Phyton version: Python 3.10.5 Plugin version: 3,24.0

    Error message

    None
    

    Reproduce steps

    1. Tap in a X-Ray word
    2. Go to X-Ray

    Screenshots or videos

    screenshot_2022_07_30T08_35_37+0100 Captura de pantalla 2022-07-30 094033 screenshot_2022_07_30T08_42_02+0100 screenshot_2022_07_30T08_42_09+0100

    Sira - Maria Duenas Vinuesa.zip

    opened by Phobooky 6
  • Word dumb generation error in Macbook Pro M1

    Word dumb generation error in Macbook Pro M1

    Describe the bug

    On trying to generate the word wise, the following error occurs.

    System Information

    OS: MacOS Monterey 12.4 Calibre Version: 6.1.0 WordDumb version: 3.23.1 Python Version: 3.9.13

    Error message

    calibre, version 6.1.0 (darwin, embedded-python: True)
    Tonnerre de Brest!: An error occurred, please copy error message then report bug at GitHub.
    
    Starting job: Generating Word Wise and X-Ray for Leonardo da Vinci 
    Job: "Generating Word Wise and X-Ray for Leonardo da Vinci" failed with error: 
    Traceback (most recent call last):
      File "calibre/gui2/threaded_jobs.py", line 82, in start_work
      File "calibre_plugins.worddumb.parse_job", line 147, in do_job
        run_subprocess(args, input_str)
      File "calibre_plugins.worddumb.utils", line 48, in run_subprocess
        return subprocess.run(
      File "subprocess.py", line 524, in run
    subprocess.CalledProcessError: Command '['/usr/bin/python3', '/Users/****/Library/Preferences/calibre/plugins/WordDumb.zip', '', PosixPath('/Users/***/Calibre Library/Walter Isaacson/Leonardo da Vinci (3)/Leonardo da Vinci - Walter Isaacson.epub'), '', '', 'en_core_web_lg', 'en', '', '3.23.1', 'cn', '', 'EPUB', '1', '/Users/***/Library/Preferences/calibre/plugins/WordDumb.zip', '', '-l', '-x', '-s', '-m']' returned non-zero exit status 1.
     
    Called with args: ((3, 'EPUB', '/Users/***/Calibre Library/Walter Isaacson/Leonardo da Vinci (3)/Leonardo da Vinci - Walter Isaacson.epub', <calibre.ebooks.metadata.book.base.Metadata object at 0x117faa620>, {'spacy': 'en_core_web_', 'wiki': 'en', 'kaikki': 'English'}), True, True) {'notifications': <queue.Queue object at 0x117faa560>, 'abort': <threading.Event object at 0x1181c3670>, 'log': <calibre.utils.logging.GUILog object at 0x1181c00d0>} 
    Traceback (most recent call last):
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/runpy.py", line 194, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "/Users/***/Library/Preferences/calibre/plugins/WordDumb.zip/__main__.py", line 55, in <module>
      File "/Users/***/Library/Preferences/calibre/plugins/WordDumb.zip/parse_job.py", line 246, in create_files
      File "/Users/***/Library/Preferences/calibre/plugins/WordDumb.zip/parse_job.py", line 570, in load_spacy
      File "/Users/***/Library/Preferences/calibre/plugins/worddumb-libs-py3.8/spacy/__init__.py", line 6, in <module>
        from .errors import setup_default_warnings
      File "/Users/***/Library/Preferences/calibre/plugins/worddumb-libs-py3.8/spacy/errors.py", line 2, in <module>
        from .compat import Literal
      File "/Users/***/Library/Preferences/calibre/plugins/worddumb-libs-py3.8/spacy/compat.py", line 3, in <module>
        from thinc.util import copy_array
      File "/Users/***/Library/Preferences/calibre/plugins/worddumb-libs-py3.8/thinc/__init__.py", line 5, in <module>
        from .config import registry
      File "/Users/***/Library/Preferences/calibre/plugins/worddumb-libs-py3.8/thinc/config.py", line 14, in <module>
        import srsly
      File "/Users/***/Library/Preferences/calibre/plugins/worddumb-libs-py3.8/srsly/__init__.py", line 1, in <module>
        from ._json_api import read_json, read_gzip_json, write_json, write_gzip_json
      File "/Users/***/Library/Preferences/calibre/plugins/worddumb-libs-py3.8/srsly/_json_api.py", line 6, in <module>
        from . import ujson
      File "/Users/***/Library/Preferences/calibre/plugins/worddumb-libs-py3.8/srsly/ujson/__init__.py", line 1, in <module>
        from .ujson import decode, encode, dump, dumps, load, loads  # noqa: F401
    ModuleNotFoundError: No module named 'srsly.ujson.ujson'
    

    Reproduce steps

    1. Select a notebook
    2. Click on Plugin
    3. Click on Calibre jobs

    Screenshots or videos

    Screenshot 2022-07-22 at 6 45 31 PM
    opened by sleebapaul 1
Releases(v3.28.2)
  • v3.28.2(Dec 30, 2022)

  • v3.28.1(Dec 20, 2022)

  • v3.28.0(Dec 5, 2022)

    New features:

    • Use MediaWiki's parse API to get text for some Wikipedia titles redirected to sections
    • Remove references and error messages from parsed Fandom text
    • Separate X-Ray paragraphs in <p> tags for EPUB footnotes
    • Allow "-" in Fandom URL's language code part
    • Install cupy-wheel package instead of setting cupy version manually

    Bug fixes:

    • Replace %xx escapes in EPUB opf href strings
    • Fix error when creating X-Ray file and customize X-Ray data is provided
    • Fix pip install error caused by space in user name
    • Install compiled with CUDA enbabled PyTorch package for Windows and Linux
    • Fix None reference error in transformers library
    • Fix lxml not found error
    • Fix UnicodeDecodeError when open JSON files on Windows
    • Check notifications variable is not None before using it

    Other changes:

    • Add back downloading Wiktionary file notification
    • Update Proficiency v0.4.0
    • Update rapidfuzz 2.13.3
    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.28.0.zip(634.20 KB)
  • v3.27.0(Nov 25, 2022)

    New features:

    Bug fixes:

    • Update ASIN for MOBI books on Kindle device if the book was sent before using the plugin.
    • Re-upload book cover if the book ASIN is changed on Kindle device.
    • Move pip general options before install command.
    • Fix the StopIteration error for some EPUB books.
    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.27.0.zip(629.76 KB)
  • v3.26.1(Oct 29, 2022)

  • v3.26.0(Oct 20, 2022)

  • v3.25.1(Sep 18, 2022)

    Bug fixes:

    • Create custom lemmas folder if not exists
    • Don't send EPUB file to Kindle

    Other changes:

    • Only call setData when imported file changes current data
    • Show proxy error dialog for the request SSLError exception
    • Add Korean translation, thanks to beecom's contribution
    • Add French translation, thanks to PoP's contribution
    • Update dependencies
    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.25.1.zip(637.57 KB)
  • v3.25.0(Aug 23, 2022)

    New features:

    • Add IPA to Wiktionary
    • Improve lemmas search speed by using the ternary search tries
    • Add choose book format dialog for books have multiple supported formats
    • Export lemmas text file(.tsv), which can be imported to Anki
    • Add Chinese translations for the plugin text
    • Add default difficulty values to the English, Chinese, and Japanese Wiktionary. Data source: https://github.com/xxyzz/Proficiency
    • Add support of Ukrainian language
    • Wiktionary files are downloaded from https://github.com/xxyzz/Proficiency/releases

    Bug fixes:

    • Resolve Python import standard library error on Fedora
    • Resolve dependency errors by removing the dependency folder when Python upgrades minor versions.

    Other changes:

    • Enable different POS types of the same word in Wiktionary
    • Remove inflected, misspelling words, alternative forms, synonyms from Wiktionary
    • Use the shortest clause in gloss separated by semicolon
    • Change error dialogs to warning dialogs
    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.25.0.zip(626.91 KB)
  • v3.24.0(Jul 29, 2022)

    New features:

    Bug fixes:

    • Add pip's hidden option --no-user to disable pip user mode
    • Save customize Wiktionary JSON file
    • Only show non-English warning when creating Word Wise
    • Add missing NER labels for Korean, Swedish and Croatitan spaCy model
    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.24.0.zip(608.97 KB)
  • v3.23.1(Jul 12, 2022)

  • v3.23.0(Jul 12, 2022)

    New features:

    • Add Word Wise <ruby> tags and footnotes to EPUB books
    • Add customize Wiktionary dialog for EPUB books
    • Remove soft hyphens from EPUB books
    • Add omit option to customize X-Ray dialog
    • Use MediaWiki smmary or book quote as X-Ray description if customize X-Ray description is None
    • Add support of Croatian language(spaCy 3.4.0 model)

    Bug fixes:

    • Ignore invalid inception date
    • Upgrade outdated pip on all operating systems

    Other changes:

    • Don't fuzz match customize X-Ray entities
    • Replace newline in X-Ray label with whitespace
    • Add unsupported book format/language dialog and warning log
    • Set minimum calibre version to 6.0.0
    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.23.0.zip(470.30 KB)
  • v3.22.0(Jul 4, 2022)

    New features:

    • Use customize X-Ray entities to fix NER errors
    • Add command line interface
    • Include POS type to customize Word Wise table
    • Add GPE entity founding date to X-Ray description
    • Add X-Ray entity minimal occurrences option

    Bug fixes:

    • Fix upper case image file not found error
    • Only copy Word Wise dictionary file from device
    • Fix PyQt6 Enum errors
    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.22.0.zip(466.94 KB)
  • v3.21.2(Jun 12, 2022)

    Bug fixes

    • Fix media_type undefined error when adding locator map image to EPUB footnote(https://github.com/xxyzz/WordDumb/commit/ef5092f77493bec330209c7033830cf99f3d2ebe)
    • Fix Fandom cache folder not exists error(https://github.com/xxyzz/WordDumb/commit/50c3b5c3d0d0cb607ff21462cfdd1a0e81e5ceca)
    • Fix substring not found error for some MOBI , AZW3 and EPUB books(https://github.com/xxyzz/WordDumb/commit/41cae53b9fca3aec9c2de3a33e34c8d19a98f5f8)

    Other changes

    • Replace full name in Chinese and Japanese books that have interpunct(https://github.com/xxyzz/WordDumb/commit/f966874997a470dcd47663c5735127fb191d10ee)
    • Only extent X-Ray length when the next character is punctuation(https://github.com/xxyzz/WordDumb/commit/dd2f53db698da9cb67175f44d66c26eb909e3f25)
    • Update dependencies
    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.21.2.zip(420.39 KB)
  • v3.21.1(Jun 2, 2022)

  • v3.21.0(May 31, 2022)

    New features

    • Add option to adjust preferred book format order
    • Add option to create files for all available book format

    Improve X-Ray quality

    • Thanks to jhowell, KFX footnote reference numbers are ignored(requires KFX input 1.49.0)
    • Don't merge different person with the same given name or surname
    • Increase KFX image caption length limit to 450
    • Ignore URL links and page number references
    • Delete " of" from the end of x-ray label

    Other changes

    • Convert NER label constant variables to frozenset
    • Only save MediaWiki cache if new data is added
    • Update dependencies

    Full Changelog: https://github.com/xxyzz/WordDumb/compare/v3.20.1...v3.21.0

    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.21.0.zip(421.64 KB)
  • v3.20.1(Apr 29, 2022)

  • v3.20.0(Apr 28, 2022)

    New features:

    • Send files to Android device via adb
    • Customize Word Wise lemmas difficulty level, enable or disable each lemma
    • Insert X-Ray image caption data
    • Add an option to enable or disable EPUB locator map

    Bug fixes:

    • Fix the code that should check ASIN of books on Kindle but check books in library
    • Disable pip cache to fix memory error on some devices
    • Fix a typo in dump_lemmas.py

    Other changes:

    • Merge person X-Ray entities when partial name appears first
    • Merge X-Ray entities that get redirected or normalized by MedaiWiki API
    • Unescape MOBI and EPUB HTML text
    • Only use texts inside the MOBI and EPUB body tag
    • Select orthographic locator map in SPARQL query
    • Add lemmas that contain parentheses
    • Change X-Ray fuzz algorithm to token_set_ratio()
    • Remove WORK_OF_ART NER label
    • Remove cardinal directions and ordinal directions X-Ray entities
    • Add 639 and update 173 lemmas

    Full Changelog: https://github.com/xxyzz/WordDumb/compare/v3.19.0...v3.20.0

    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.20.0.zip(419.85 KB)
  • v3.19.0(Mar 27, 2022)

    New features:

    • Create X-Ray footnotes for EPUB books
    • Add Democracy Index and locator map image of country/city/state from Wikidata to X-Ray, only EPUB footnotes have locator map

    Bug fixes:

    • Check network errors in macOS subprocess: https://github.com/xxyzz/WordDumb/commit/173c03f03549e6b6d0f2b90f53f6cf0e1774d1e3
    • Fix copy file state error on macOS: https://github.com/xxyzz/WordDumb/commit/757b0a5ca6e628e8db5ace06890f3f7be68e6781
    • Fix error when MTP device is connected: https://github.com/xxyzz/WordDumb/commit/908b9fccc153afaf3eb23694129b6a747103ac6d

    Other changes:

    • Remove Spanish article from X-Ray entities: https://github.com/xxyzz/WordDumb/commit/5aa517d22fb0be6d116ab2549711ef82d3facc48
    • Remove LANGUAGE, NORP and NAT_REL_POL NER labels: https://github.com/xxyzz/WordDumb/commit/5cab16c66da0de8269c7368b4ae13b3883089987
    • Add spaCy Norwegian model NER labels: https://github.com/xxyzz/WordDumb/commit/5cab16c66da0de8269c7368b4ae13b3883089987
    • Artifact in GitHub Action test job is not longer double zipped: https://github.com/xxyzz/WordDumb/commit/60b81edd5c25eadaddddb8b402116c0941dad97e

    Full Changelog: https://github.com/xxyzz/WordDumb/compare/v3.18.4...v3.19.0

    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.19.0.zip(405.72 KB)
  • v3.18.4(Mar 1, 2022)

    Bug fixes

    • Upgrade Apple's outdated pip: https://github.com/xxyzz/WordDumb/commit/4a1f1a8482138cc64c83cb77b8e4276c654fe9ea, https://github.com/xxyzz/WordDumb/commit/966b3ac38b3decfb695b35c6e029161064d2c159
    • Allow localized Fandom URL: https://github.com/xxyzz/WordDumb/commit/79468635a351b761cca938c9f74c407703cdcff8

    Full Changelog: https://github.com/xxyzz/WordDumb/compare/v3.18.3...v3.18.4

    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.18.4.zip(400.82 KB)
  • v3.18.3(Feb 27, 2022)

  • v3.18.2(Feb 19, 2022)

  • v3.18.1(Feb 17, 2022)

  • v3.18.0(Feb 15, 2022)

  • v3.17.0(Jan 15, 2022)

    • Add platform option to prevent command line tool's pip from compiling package
    • Change X-Ray search people checkbox text and add tooltip
    • Make plugin job unkillable
    • Display X-Ray job progress on Linux and Windows
    • Return iterator from parse_book()
    • Add support of AZW format
    • Install thinc-apple-ops on M1 native calibre
    Source code(tar.gz)
    Source code(zip)
    worddumb-v3.17.0.zip(400.25 KB)
  • v3.16.1(Jan 8, 2022)

  • v3.16.0(Jan 7, 2022)

  • v3.15.0(Dec 21, 2021)

  • v3.14.4(Dec 7, 2021)

  • v3.14.3(Nov 13, 2021)

Product-Review-Summarizer - Created a product review summarizer which clustered thousands of product reviews and summarized them into a maximum of 500 characters, saving precious time of customers and helping them make a wise buying decision.

Product-Review-Summarizer - Created a product review summarizer which clustered thousands of product reviews and summarized them into a maximum of 500 characters, saving precious time of customers and helping them make a wise buying decision.

Parv Bhatt 1 Jan 1, 2022
Ptorch NLU, a Chinese text classification and sequence annotation toolkit, supports multi class and multi label classification tasks of Chinese long text and short text, and supports sequence annotation tasks such as Chinese named entity recognition, part of speech tagging and word segmentation.

Pytorch-NLU,一个中文文本分类、序列标注工具包,支持中文长文本、短文本的多类、多标签分类任务,支持中文命名实体识别、词性标注、分词等序列标注任务。 Ptorch NLU, a Chinese text classification and sequence annotation toolkit, supports multi class and multi label classification tasks of Chinese long text and short text, and supports sequence annotation tasks such as Chinese named entity recognition, part of speech tagging and word segmentation.

null 186 Dec 24, 2022
Calibre recipe to convert latest issue of Analyse & Kritik into an ebook

Calibre Recipe für "Analyse & Kritik" Dies ist ein "Recipe" für die Konvertierung der aktuellen Ausgabe der Zeitung Analyse & Kritik in ein Ebook. Es

Henning 3 Jan 4, 2022
Analyse japanese ebooks using MeCab to determine the difficulty level for japanese learners

japanese-ebook-analysis This aim of this project is to make analysing the contents of a japanese ebook easy and streamline the process for non-technic

Christoffer Aakre 14 Jul 23, 2022
Input english text, then translate it between languages n times using the Deep Translator Python Library.

mass-translator About Input english text, then translate it between languages n times using the Deep Translator Python Library. How to Use Install dep

null 2 Mar 4, 2022
Random-Word-Generator - Generates meaningful words from dictionary with given no. of letters and words.

Random Word Generator Generates meaningful words from dictionary with given no. of letters and words. This might be useful for generating short links

Mohammed Rabil 1 Jan 1, 2022
A Python 3.6+ package to run .many files, where many programs written in many languages may exist in one file.

RunMany Intro | Installation | VSCode Extension | Usage | Syntax | Settings | About A tool to run many programs written in many languages from one fil

null 6 May 22, 2022
This script just scrapes the most recent Nepali news from Kathmandu Post and notifies the user about current events at regular intervals.It sends out the most recent news at random!

Nepali-news-notifier This script just scrapes the most recent Nepali news from Kathmandu Post and notifies the user about current events at regular in

Sachit Yadav 1 Feb 11, 2022
A python script to prefab your scripts/text files, and re create them with ease and not have to open your browser to copy code or write code yourself

Scriptfab - What is it? A python script to prefab your scripts/text files, and re create them with ease and not have to open your browser to copy code

DevNugget 3 Jul 28, 2021
Original implementation of the pooling method introduced in "Speaker embeddings by modeling channel-wise correlations"

Speaker-Embeddings-Correlation-Pooling This is the original implementation of the pooling method introduced in "Speaker embeddings by modeling channel

Themos Stafylakis 10 Apr 30, 2022
Proquabet - Convert your prose into proquints and then you essentially have Vogon poetry

Proquabet Turn your prose into a constant stream of encrypted and meaningless-so

Milo Fultz 2 Oct 10, 2022
Coreference resolution for English, German and Polish, optimised for limited training data and easily extensible for further languages

Coreferee Author: Richard Paul Hudson, msg systems ag 1. Introduction 1.1 The basic idea 1.2 Getting started 1.2.1 English 1.2.2 German 1.2.3 Polish 1

msg systems ag 169 Dec 21, 2022
Coreference resolution for English, French, German and Polish, optimised for limited training data and easily extensible for further languages

Coreferee Author: Richard Paul Hudson, Explosion AI 1. Introduction 1.1 The basic idea 1.2 Getting started 1.2.1 English 1.2.2 French 1.2.3 German 1.2

Explosion 70 Dec 12, 2022
Share constant definitions between programming languages and make your constants constant again

Introduction Reconstant lets you share constant and enum definitions between programming languages. Constants are defined in a yaml file and converted

Natan Yellin 47 Sep 10, 2022
null 189 Jan 2, 2023
Rhasspy 673 Dec 28, 2022
BPEmb is a collection of pre-trained subword embeddings in 275 languages, based on Byte-Pair Encoding (BPE) and trained on Wikipedia.

BPEmb is a collection of pre-trained subword embeddings in 275 languages, based on Byte-Pair Encoding (BPE) and trained on Wikipedia. Its intended use is as input for neural models in natural language processing.

Benjamin Heinzerling 1.1k Jan 3, 2023
Implementation of Natural Language Code Search in the project CodeBERT: A Pre-Trained Model for Programming and Natural Languages.

CodeBERT-Implementation In this repo we have replicated the paper CodeBERT: A Pre-Trained Model for Programming and Natural Languages. We are interest

Tanuj Sur 4 Jul 1, 2022
A programming language with logic of Python, and syntax of all languages.

Pytov The idea was to take all well known syntaxes, and combine them into one programming language with many posabilities. Installation Install using

Yuval Rosen 14 Dec 7, 2022