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.16.tar.gz (6.5 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.16-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sebsync-1.0.16.tar.gz
  • Upload date:
  • Size: 6.5 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.6"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.6.3 9 Jun 2026","python":"3.14.6","system":{"name":"Linux","release":"7.0.11-arch1-1"}} HTTPX2/2.5.0

File hashes

Hashes for sebsync-1.0.16.tar.gz
Algorithm Hash digest
SHA256 cc8c5ce7b4cc01f0542ebf930f571fa2ae1e116f39f0181c26c096138368417e
MD5 8dd66a4c5276660836786b9a62e090de
BLAKE2b-256 8dc2dbb75d843850e6e660443898e7dac9ecf19f08b4df0650912f5e898cfa7d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sebsync-1.0.16-py3-none-any.whl
  • Upload date:
  • Size: 7.3 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.6"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.6.3 9 Jun 2026","python":"3.14.6","system":{"name":"Linux","release":"7.0.11-arch1-1"}} HTTPX2/2.5.0

File hashes

Hashes for sebsync-1.0.16-py3-none-any.whl
Algorithm Hash digest
SHA256 5bdf5fd413ad06a46ddbf04a627aefa42f0cad6661a8e0dd9ff448ed5fb342a5
MD5 bf6cd5357182d7aa0f2cbdad07384307
BLAKE2b-256 533399607d231477bb121769374e1f4e048d83ffc105cdf61394681acae5f503

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