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

Uploaded Source

Built Distribution

sebsync-1.0.6-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for sebsync-1.0.6.tar.gz
Algorithm Hash digest
SHA256 8fdaec788251c44e469ce491b9e47652eec0f9f250e71b2257c891db8635cf84
MD5 ca71f493fa162d227247de68aa8a13c1
BLAKE2b-256 64ab77cbe2d3bbeff954c244713b3c53940e312030e644e1d15a4878f70fb33e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for sebsync-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3284106469efdd36a424db47476f715933a58d107c7feea8fbde8c9a738bcdb9
MD5 bc2eeeadfabad5afea0cb6eeec50f6ce
BLAKE2b-256 54807b32c89d84ec93c27808ff6d5ed744a08b773ebba181a293f7c8d5c85cf6

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