Skip to main content

Synchronize Standard Ebooks catalog with local EPUB collection.

Project description

sebsync

sebsync is a simple script to synchronize the Standard Ebooks catalog with your local EPUB collection.

How it works

The script reads the Standard Ebooks OPDS feed and reconciles the ebooks in their catalog against the EPUBs in your local filesystem, downloading new ones or updating existing ones as necessary.

If a new ebook is detected in the catalog, then it will be downloaded into your downloads directory. If an updated version of a book is detected in the catalog that is already in your local filesystem, then the updated version will be downloaded and stored in the existing local file.

The script also detects extraneous local ebooks (local ebooks not found in the Standard Ebooks catalog). This can can occur when Standard Ebooks changes the identifier of a previously published ebook. It's a rare occurrence, and it's generally safe to delete such files.

Requirements

This script uses Standard Ebooks' OPDS feed to access metadata on all books their catalog. In order to do so, you need to be a member of the Standard Ebooks Patrons Circle (or have previously produced an ebook for Standard Ebooks). If you're not already a Standard Ebooks patron, please consider becoming one. It's a tremendously valuable project, deserving of your support.

Installation

pipx install sebsync

Example usage

sebsync --email addr@example.com --books /home/user/MyBooks --downloads /home/user/MyBooks/Downloads

Questions and answers

Q1. Why use a separate downloads directory for new ebooks?

A1. This is a feature for those who want to easily recognize new ebooks, and to manually rename and/or categorize them within their library. If this feature is not useful for you, simply set --downloads to be the same directory as --books.

Q2. What is pipx?

A2. pipx is a utility that allows Python packages like sebsync to be installed in an isolated environment. This makes it really easy to install and run such scripts without interfering with other Python package installations.

Q3. Does this script support Kindle books?

A3. Not presently. A cursory analysis of the Standard Ebooks AZW3 structure suggests that there currently isn't a reliable method to reconcile Kindle ebooks with the OPDS feed catalog. If this feature is important to you, please let us know by voting for this issue in GitHub.

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

sebsync-1.0.4.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

sebsync-1.0.4-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file sebsync-1.0.4.tar.gz.

File metadata

  • Download URL: sebsync-1.0.4.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.11.6-arch1-1

File hashes

Hashes for sebsync-1.0.4.tar.gz
Algorithm Hash digest
SHA256 f1ac69b71c2b41a27e2a3dee5244bfd84759bd80122d6800f18028d0006983b8
MD5 396b8ecf93b9cf024c1c9980213e656e
BLAKE2b-256 417b8ae13b98650be674756e671f3f32309af287538e16118f09efb675e105ac

See more details on using hashes here.

File details

Details for the file sebsync-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: sebsync-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.11.6-arch1-1

File hashes

Hashes for sebsync-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9052705058ba9984f97514c6fcb5555163468d78b3437ef42a7688bdaef6d74b
MD5 baf1dc4349a37ab15e7f65f5d9d2d733
BLAKE2b-256 1dd8e02a9c7d4535e4df104529580f04f2032210cfb7dd04a28723f9133ba4a7

See more details on using hashes here.

Supported by

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