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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a87004c8e200c8fe22fedb06ecb9a3aa69eafc7931b3ae839f1385ceba46d7a
|
|
| MD5 |
1ae257bf4ce8a3d13276f4fa475a8a9c
|
|
| BLAKE2b-256 |
df52d6ec2a408288e9537b80a1adcc3f27383418c26b1ea7470ad6df547ae13d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe520d4f73e3f9116c23b52868ab8dad12b4b0bef0cb69922303e343367650a4
|
|
| MD5 |
bd382364bab9c73a1b4472f93e4c8dcc
|
|
| BLAKE2b-256 |
1be5cdfcc747e959c2d8972d8537cf97494e568d5b499d2ca1c0e553c3de028f
|