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

Uploaded Source

Built Distribution

sebsync-1.0.5-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sebsync-1.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 c30633c397800769926d0fd3bfe93a2c1252f4077616c1b548d03a22fbf33424
MD5 55f49d72d0b14f6efb5c26174e1b43b2
BLAKE2b-256 1fd2c032f82b48589c356cf1b1be07994ab0f0d3aab939f4d1c38253dfedda86

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sebsync-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 7.1 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2058486dd2eecf28addbbdba281c702b65c5bc2c8b2020049c734bbd9468dd64
MD5 3906f73362e3f499a45423a0c700cd5f
BLAKE2b-256 cb141090c9e8e02f89b52e7b30cf8af14aa65d0c8809fdd530e141cc16dc3e6b

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