I want to maintain my book¹ collection database on both my Linux PC and my Android phone, so I'm looking for some book catalogue software on each platform and a way to synchronize between them. I will not upload my catalogue to any server (no account on a site like LibraryThing or GoodReads).
- Must allow custom fields (original language, shelf, …) in addition to standard ones (author, title, …).
- Must be able to retrieve book information from common sources (e.g. Amazon) from an ISBN.
- Linux: I want to be able to submit multiples ISBN in batch without having to type them out in an interactive dialog. Being able to do it from a completely automatic script is a plus but copy-pasting a list of ISBNs into a dialog box is acceptable.
- Android: must be able to hook up to the camera or to a separate barcode parser app so that I can take a picture of a barcode and add it to the database seamlessly.
- Must support the occasional ISBN-less book (some books are too old, some are self-published).
- Must allow searches on any field, e.g. to find a book by title or to find all the books illustrated by a certain person.
- Must never upload any information about me (unless I deliberately request it).
I want more advanced features on Linux. They'd be nice to have on Android.
- Must support retrieving book information from common fields (author, title), for books that are too old to have an ISBN.
- Must allow me to define my own book sources in a reasonable way (Bibliothèque Nationale, ISFDB, …), e.g by writing a retrieval script that takes the ISBN or author/title as argument and prints the retrieved record in a reasonable way.
- Must support multiple-field AND search, e.g. books whose title contains “mathematics” in the genre “romance”.
- Must allow extracting the information in a simple way (I can write some simple text processing in Perl or Python).
- Open source; at least cost-free on Android and without obtrusive ads. On Android, I can install non-Playstore apps.
Nice to have on both (and if it's only present on one, it must not hurt synchronization):
- Let me manage short story collections: declare a book as a short story collection, search for the book containing a particular short story, …
Requirements on synchronization:
- I should be able to synchronize my PC and my phone through a USB cable (
adbaccess is enabled, even as root if needed) or a TCP connection (ideally both). If a network connection is involved, it must not involve uploading my information to anyone else's servers; the software would run on my own server.
- If I only added, modified or removed entries on one side, the synchronization must be automatic.
- If I've edited the database on both sides, there must be some reasonable way to synchronize (interactively, or by manually editing some text files).
Finally, I'm currently using Tellico on my PC (which suits me fine on its own, but offers no obvious solution to synchronize with Android). I need to be able to import my existing database. I can write some simple text processing script to perform a format conversion if needed.
¹ A book is a physical object containing written or drawn material and usually (but not systematically) produced with a mass printing process. I'm not talking about e-books here.