Chapter-sync
A tool for recording serialized web content, in partial web-serial type novels, or other serialized content for which you want to be sent updates as they're published.
The other tools in the space (at least that I'm aware of: Leech, FanFicFare) are mostly designed around manual one-off usage of the tool to capture the current state of a story/series and turn it into an ebook.
chapter-sync, by contrast, records everything it captures to a sqlite database
and will only collect new/missing chapters. It also bakes in (through supported
subscription methods) the ability to send new chapters to "subscribers" who have
not yet received it.
Quickstart
❯ chapter-sync series add some-book 'https://some-book.com/table-of-contents/' --title 'Some Book' --settings '{"content_selector": "#main .entry-content", "chapter_selector": "#main .entry-content > ul > li > a"}'
Added series "some-book" at "https://some-book.com/table-of-contents/"
❯ chapter-sync series list
┏━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ID ┃ Name ┃ URL ┃
┡━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 1 │ some-book │ https://some-book.com/table-of-cont… │
└────┴────────────────────────────┴──────────────────────────────────────┘
❯ chapter-sync sync
...
Done
❯ chapter-sync chapter list 1
Some Book
┏━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Title ┃ Chapter ┃ Size (Kb) ┃ Sent ┃ Published ┃ Created ┃
┡━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Chapter 1 │ 1 │ 37.3 │ 2024-03-02 │ 2023-07-28 │ 2024-03-02 │
│ Chapter 2 │ 2 │ 37.1 │ 2024-03-02 │ 2023-08-04 │ 2024-03-02 │
│ Chapter 3 │ 3 │ 36.9 │ 2024-03-02 │ 2023-08-11 │ 2024-03-02 │
│ Chapter 4 │ 4 │ 36.9 │ 2024-03-02 │ 2023-08-18 │ 2024-03-02 │
└────────────┴─────────┴───────────┴────────────┴────────────┴────────────┘
❯ chapter-sync chapter export 1 4
❯ ls
Some Book: Chapter 4.epub
❯ chapter-sync series export 1
❯ ls
Some Book.epub
Web
The tool also ships with a web service which can be used to view and manage subscriptions.
Inspiration
this tool started off as an attempt at a refactor/PR to Leech to enable it to more granularly record updates to books as they changed.
However, chapter-sync is designed from the ground up to be able to
individually record/send chapters as they are published, which ultimately means
the to tools ultimately end up being almost entirely different.
I had been using InstaPaper to send updates of series to my kindle, until they made that a paid feature. Additionally the drawback there, was that the file they'd send would contain all chapters in the whole series, in reverse.
Release files for chapter-sync 0.3.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| chapter_sync-0.3.7.tar.gz | 40.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chapter_sync-0.3.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 97.1 kB
Release files / chapter_sync-0.3.7.tar.gz
| Download URL | chapter_sync-0.3.7.tar.gz |
|---|---|
| Size | 40.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bac460c8014c5a2324538303b39b818fc1f06a8213c0e6e39c6b98ea1dc917b5
|
|
BLAKE2b-256 checksum How to use checksums |
7592111271706f85087dc17568ae306f994e1c62bfec81828c46da79ec48b4b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|
Release files / chapter_sync-0.3.7-py3-none-any.whl
| Download URL | chapter_sync-0.3.7-py3-none-any.whl |
|---|---|
| Size | 56.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7d2f1fb34440fe97e926ba5f57c02a41da1ffbfeda905597d82820dc97540270
|
|
BLAKE2b-256 checksum How to use checksums |
9e9836465c7f7f0075e36a58855c8f35d5cd9509d93aaedace732371dbdbad33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|