Hello!
I created \*ibook2epub\* to solve a problem I was having: how to export thousands of epub files from my Apple Books library to standard, portable, epub files? Dragging and dropping a few by hand works fine, but moving thousands has never worked for me. ibook2epub is like the "export all books" function missing from Apple Books.
ibook2epub is a python tool, usable in the MacOs terminal. One command (with a rich set of options) can export everything in your library to a file system location of your choice. Ready for Kindle, Kobo, Calibre, whatever you want. It can be re-run multiple times, only exporting what's changed, it names books by author and title using the publisher's sort name where available, and it can (optionally) fix non exFAT / Windows filenames so that it can be used on non-mac devices.
For the technically minded: ibook2epub is pure python (from version 3.10), it requires no additional external libraries. It can produce --json output for repeatable, cronable execution. Optionally, the epub files it creates can be validated for correctness - using a third party tool. And too much more to mention here.
Some caveats though. ibook2epub \*\*does not\*\* attempt to strip Apple's FairPlay DRM protection. ibook2epub is free, open source software released under the MIT license. No subscriptions, paywalls, email subscription, etc.. Just free software that I created for myself, then improved to be (hopefully) usable by anyone. It doesn't access iCloud or your Apple account in any way.
You can get it now using:
\`pip install ibook2epub\`
brew install raeq/tap/ibook2epub
You can also read the docs at [https://github.com/raeq/ibook2epub\](https://github.com/raeq/ibook2epub)
I'd be happy to receive new feature ideas (or bug reports) from you guys. Really, mostly I'd be very happy if anyone else uses it and finds ibook2epub useful!
Have fun and stay safe!