Python tools and extensions for sioyek PDF reader


License
GPL-3.0
Install
pip install sioyek==0.31.6

Documentation

Python wrapper and simple addons for the sioyek PDF viewer. Install using:

python -m pip install sioyek

Note that python executable name might be different in your system, for example it might be python3 instead of python. Also note that in some AppImage builds of sioyek, "%{sioyek_path}" doesn't expand to correct AppImage, you just have to replace "%{sioyek_path}" with the exact path of sioyek AppImage on your filesystem.

Addons:

-paper_downloader

Download the paper name under cursor from google scholar or scihub and open the document. To enable add this to your prefs_user.config:

new_command _download_paper python -m sioyek.paper_downloader download "%{sioyek_path}" "%{paper_name}" "%{selected_text}" [Your Email, If Using Unpaywall]
control_click_command _download_paper

Now you can download papers by control-clicking on their names like this:

paper_downloader.mp4

-dual_panelify

Create a dual panel version of the current PDF file.

dual_panelify.mp4

Config:

new_command _dual_panelify python -m sioyek.dual_panelify "%{sioyek_path}" "%{file_path}" "%{command_text}"

-embed_annotations

Embed the sioyek bookmarks and highlights into the current file.

embed_annotations.mp4

Config:

new_command _embed_annotations python -m sioyek.embed_annotations "%{sioyek_path}" "%{local_database}" "%{shared_database}" "%{file_path}"

-extract_highlights

Create a new document with the highlights of the current document with pre-inserted portal into the corresponding location in the original document.

highlight_extractor.mp4

Config:

new_command _extract_highlights python -m sioyek.extract_highlights "%{sioyek_path}" "%{local_database}" "%{shared_database}" "%1" %{zoom_level}

-translate

Translate the text and display it in sioyek statusbar.

translate.mp4

Config:

new_command _translate_selected_text python -m sioyek.translate "%{sioyek_path}" "%{selected_text}"
new_command _translate_current_line_text python -m sioyek.translate "%{sioyek_path}" "%{line_text}"

-import_annotations

Import PDF bookmarks and highlights into sioyek so that they are searchable.

2022-12-06.17-15-08.mp4

Config:

new_command _import_annotations python -m sioyek.import_annotations "%{sioyek_path}" "%{local_database}" "%{shared_database}" "%{file_path}"

-remove_annotation

Remove PDF annotations.

2022-12-06.17-17-49.mp4

Config:

new_command _remove_annotations python -m sioyek.remove_annotation "%{sioyek_path}" "%{local_database}" "%{shared_database}" "%{file_path}" "%{selected_rect}"

-add_text

Add text annotation to the PDF.

2022-12-06.17-19-06.mp4

Config:

new_command _add_text python -m sioyek.add_text "%{sioyek_path}" "%{local_database}" "%{shared_database}" "%{file_path}" "%{selected_rect}" "%{command_text}"
new_command _add_red_text python -m sioyek.add_text "%{sioyek_path}" "%{local_database}" "%{shared_database}" "%{file_path}" "%{selected_rect}" "%{command_text}" fontsize=5 text_color=255,0,0

User Scripts

Here is a list of scripts created by sioyek users:

Donation

If you enjoy sioyek, please consider donating to support its development.

Buy Me A Coffee