Skip to main content

Kobo Highlights is a CLI application to manage the bookmarks of your Kobo ereader. It can import them into a human-friendly markdown database.

Project description

DISCLAIMER: This is an unofficial project that I developed independently from Kobo and without any contact with them.

Kobo highlights

Kobo highlights is a simple CLI application to manage bookmarks from a Kobo erader. It can import them into a markdown database where they can be easily accessed.

Kobo Highlights was developed in Python using Typer for the CLI functionality and Rich for writing nice text to the terminal.

Kobo highlights was develop as a personal project and it's design is based on how my particular ereader handles bookmarks, so there are no guarantees that it will work on other models.

Requirements

Kobo highlights was developed and tested in Fedora and the automatic tests are run in Ubuntu as macOS. I expect it to work properly on most Linux distributions and on macOS. It has not been testes on Windows, but you can try it.

Kobo highlights requires Python 3.10.

Installation

This project was developed using Poetry and there are multiple ways of installing it:

  • The recommended installation method is downloading it from pypi: pip install kobo-highlights.

  • If you want to install Kobo Highlights directly from this repo note that development takes place in the main branch, so make sure to install it from the commit corresponding to the last release. In this case you cant install it with Poetry (run poetry install inside the repo) or with pip (run pip install . inside the repo).

Quick guide

Once Kobo Highlights has been installed, it can be accessed running the kh command. If you run kh --help you should see something like this:

From that message, you can see that the available options from Kobo Highlights are:

  • kh config to manage your configuration.

  • kh ls to list your bookmarks. By default is prints only new bookmarks, you can use the --all option to print all bookmarks instead.

  • kh import to import your bookmarks. It can be called with all, new (default), a bookmark ID, a list of bookmarks IDs, a book title or a book author. Use kh import --help for more information.

You can run any of these commands with the --help option to find out more on how to use them.

The first time you run Kobo Highlights you will be probably told that you need to create a configuration file before doing anything else. You can just follow the instructions to create a valid configuration file. In the next section the program configuration is explained in more detail.

Configuration

Kobo Highlights uses a toml configuration file that is stored in the default directory designated by Typer. In most Linux systems this is in ~/.config/kobo_highlights. The configuration file contains two fields:

  • ereader_dir: Is the absolute path to the directory where your erader is mounter. Notably, your ereader doesn't need to be mounted when you create the config file, but you should specify the directory where you expect it to be mounted when you manage your bookmarks.

  • target_dir: Is the absolute path to the directory where you want your markdown database to be created. This database will contain one markdown file per book with the highlighted text stored in block quotes.

Evert time you run Kobo Highlights it will try to find a configuration file, if it fails, it will ask you if you want to create one interactively and save it. If you don't want to create a configuration file, Kobo Highlights will stop.

You can manage your configuration file with the kh config command. In particular you cant use config show to show your current configuration and config new to create and save a new configuration.

The markdown database

The main goal of Kobo highlights is to read the bookmarks from the ereader and format them in a way in which they are easy to work with. I choose to do this by creating a markdown database of the bookmarks. This database is located in the directory specified in the configuration and will have a markdown file per book. The names of these files follow the convention <book title> - <book author(s)>.md.

The markdown files will contain, for each bookmark in that book, a markdown block quote that contains the text highlighted in the ereader potentially followed by a set of paragraphs containing the possible annotations that were made about the highlighted text.

Note that Kobo highlights by default only imports new bookmarks to the markdown database. To determine if a bookmark is already in the database, Kobo highlights creates a hidden JSON file inside the markdown directory. Inside this hidden file Kobo Highlights stores the IDs of the bookmarks that have already been imported. This means that even if you modify the markdown files (or even delete the completely), Kobo Highlights will remember that bookmarks that you had imported and they will not be considered new.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kobo_highlights-1.0.5.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kobo_highlights-1.0.5-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file kobo_highlights-1.0.5.tar.gz.

File metadata

  • Download URL: kobo_highlights-1.0.5.tar.gz
  • Upload date:
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.1 Linux/6.11.0-1015-azure

File hashes

Hashes for kobo_highlights-1.0.5.tar.gz
Algorithm Hash digest
SHA256 1a329b7872f99de8150f9bf713758127d359eadaf84ae4ac967123fc32744ebc
MD5 fe207a6f2fc1d96b79eed1051b91456c
BLAKE2b-256 f31e8bfda0bf6be3da62d4c33352f0b216d3e17fd5508494e3328f26c9800ef7

See more details on using hashes here.

File details

Details for the file kobo_highlights-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: kobo_highlights-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.1 Linux/6.11.0-1015-azure

File hashes

Hashes for kobo_highlights-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6c40713d811d1205df1db615642c495ba564ffaf1b26700b24d5285cba89fc92
MD5 21d9fc97a4820e33b6014d6f5251015b
BLAKE2b-256 0b5f788df456a2f1790ccef4faa5cd3e28717bc8e4a9e15279165a138143b78c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page