Skip to main content

Synchronize Standard Ebooks catalog with local EPUB collection.

Project description

Sebsync

The sebsync script synchronizes 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 can also display and/or remove outdated and/or deprecated ebooks. A local ebook file is “deprecated” if its identifier has been replaced by a new identifier in the Standard Ebooks catalog. This occurs when a book is renamed or substantially revised. Its replacement will be downloaded as a new ebook.

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

It is easy to install sebsync using pipx:

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. Does this script support Kindle books?

A2. No. Analysis of the Standard Ebooks AZW3 structure suggests that there isn't a reliable method to reconcile Kindle ebooks with the OPDS feed catalog.

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.15.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

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

sebsync-1.0.15-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sebsync-1.0.15.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":null,"cpu":"x86_64","distro":{"libc":{"lib":"glibc","version":"2.43"},"name":"Arch Linux"},"implementation":{"name":"CPython","version":"3.14.5"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.6.2 7 Apr 2026","python":"3.14.5","system":{"name":"Linux","release":"7.0.11-arch1-1"}} HTTPX2/2.3.0

File hashes

Hashes for sebsync-1.0.15.tar.gz
Algorithm Hash digest
SHA256 2a87004c8e200c8fe22fedb06ecb9a3aa69eafc7931b3ae839f1385ceba46d7a
MD5 1ae257bf4ce8a3d13276f4fa475a8a9c
BLAKE2b-256 df52d6ec2a408288e9537b80a1adcc3f27383418c26b1ea7470ad6df547ae13d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sebsync-1.0.15-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":null,"cpu":"x86_64","distro":{"libc":{"lib":"glibc","version":"2.43"},"name":"Arch Linux"},"implementation":{"name":"CPython","version":"3.14.5"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.6.2 7 Apr 2026","python":"3.14.5","system":{"name":"Linux","release":"7.0.11-arch1-1"}} HTTPX2/2.3.0

File hashes

Hashes for sebsync-1.0.15-py3-none-any.whl
Algorithm Hash digest
SHA256 fe520d4f73e3f9116c23b52868ab8dad12b4b0bef0cb69922303e343367650a4
MD5 bd382364bab9c73a1b4472f93e4c8dcc
BLAKE2b-256 1be5cdfcc747e959c2d8972d8537cf97494e568d5b499d2ca1c0e553c3de028f

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