Metadata-Version: 2.4
Name: sebsync
Version: 1.0.16
Summary: Synchronize Standard Ebooks catalog with local EPUB collection.
Project-URL: Source, https://codeberg.org/pbryan/sebsync
License-Expression: 0BSD
License-File: LICENSE
Keywords: book,download,ebook,ebooks,standard,sync,synchronization
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Topic :: System :: Archiving :: Mirroring
Requires-Python: >=3.10
Requires-Dist: click<8.5,>=8.4
Requires-Dist: requests<2.35,>=2.34
Description-Content-Type: text/markdown

# Sebsync

The `sebsync` script synchronizes the [Standard Ebooks](https://standardebooks.org/) catalog with
your local EPUB collection.

## How it works

The script reads the Standard Ebooks [OPDS feed](https://standardebooks.org/feeds) 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](https://standardebooks.org/donate#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](https://pipx.pypa.io/stable/):

```
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.