alt.hn

4/19/2025 at 5:33:05 PM

Libro: a command-line tool to track your books

https://github.com/mkaz/libro

by marcuskaz

4/22/2025 at 2:55:18 PM

The problem with this kind of tool is that it competes with Notes.app, Numbers.app, Google Docs, Excel, notepad.txt which are much simpler than remembering how to use some bespoke CLI app every time you finish a book and then figuring out how to back up the database. And being unable to log a book because you don't have your laptop around.

One idea is to use a spreadsheet as a back-end (like an iCloud-stored Numbers.app spreadsheet on macOS and a OneDrive Excel doc on Windows) with a simple human-editable structure, and your CLI tool is a front-end for interacting with it, exporting/importing from services, basically a value-add on top of a document that users could edit by hand.

by hombre_fatal

4/22/2025 at 3:56:22 PM

I don't think OP plan to compete against these tools, and anyway a command line tool would not compete whatever the other software are.

by poulpy123

4/22/2025 at 6:30:00 PM

i have been working on my own tool to track books and tv shows. i started as a way to learn lisp. it was fun for a while, but i eventually abandoned it because the commandline interface entering one field at a time was just to clunky.

i went back to editing a plain text file.

some day i want to get back to having a terminal tool, but the key features it needs to have are:

a way to edit fields all at once either using some nice TUI library where i can use tab and cursors to jump from field to field, or what git does, throw me into an editor to add the line.

it also needs to allow me to look at past entries somehow, to make it easy to add episodes/chapters/sequels without having to repeat all the data that is shared.

currently i do that by simply copying an old entry and editing that.

by em-bee

4/22/2025 at 5:34:09 PM

I've been using Tellico for some years. Normally I scan the ISBN and have it look up the rest of the book data.

by kps

4/22/2025 at 3:07:02 PM

The way I see it there's a risk any of those (eg notion or goodreads) goes under a sudden paywall, price increase and big friction around extracting your data. With this you just have to save the sqlite file wherever you backup the rest of your data.

by qoez

4/22/2025 at 2:21:01 PM

Hey, this is cool! I’m working on an open source, self-hostable ebook library, made to solve the 80%-usecase of Calibre. I also built a command line interface to interact with its database, but this is stock-Full of nice ideas. I might steal some! :)

If you’re curious: https://github.com/colibri-hq/colibri

(I have been working on this for years on and off, but now it’s finally going somewhere. Still not usable, though.)

by 9dev

4/22/2025 at 3:13:02 PM

Kavita developer here. Colibri looks great, keep at it.

I saw that you support fetching author information, etc, where are you sourcing that information?

by majora2007

4/22/2025 at 4:26:32 PM

My plan is to query several public data sources [from within a web worker on the client, to avoid restrictions], such as WikiData, ISBN DB, the Library of Congress API, GoodReads, and a few others. There's really a lot of open data available; I want Colibri to automatically pull in metadata on books and authors, if possible.

I have prototyped a lot on this, but not published it yet. It works pretty well :)

by 9dev

4/22/2025 at 4:28:14 PM

But currently it's from openlibrary.org right? https://github.com/colibri-hq/colibri/blob/next/apps/app/src...

by reallydoubtful

4/22/2025 at 6:42:35 PM

Yes, although I wouldn’t take that code at face value; the OpenLibrary implementation was more of a test to see how flexible an implementation of the metadata service can be.

When ready, these will be documented and extensible!

by 9dev

4/22/2025 at 3:08:51 PM

It doesn't look like it can be used to track and cross-reference short stories.

Short stories can be stand-alone (web based), found in an anthology, a book collection or published in a magazine.

What would be nice is a tool to track where I read a short story (in anthology A, for example), and where the story can be found, which may be in more than one place (in magazine B, collection C, on-line, etc.).

This is, unfortunately, also not supported in many other book sites like Goodreads, etc.

by sohkamyung

4/23/2025 at 2:27:50 AM

thestorygraph.com lets you add a new book to their catalog with a checkbox for "not a book". I keep meaning to track short stories there this way.

by jbaber

4/22/2025 at 3:53:21 PM

that is an interesting metadata problem that i've never thought about! (not the creator of this btw)

by greenie_beans

4/22/2025 at 4:22:17 PM

honestly, I've settled for a single text file. if I read something, I make a note in Google keep and transfer it to the text file when I get home. it's an org file that gets converted to html and synced to my phone along with everything else in the shared folder, but the point is that it's a flat file and I can grep or C-s.

by exe34

4/22/2025 at 2:22:39 PM

I discovered Audiobookshelf over the weekend and it seems like the ultimate self hosted solution for audiobook and ebook management. Mobile apps, user accounts for the kids, great metadata support.

https://www.audiobookshelf.org/

by candiddevmike

4/22/2025 at 5:20:42 PM

Audiobookshelf has become a key service in my self hosted stack. I use it primarily for podcast management and it’s been wonderful. I use plappa on iOS as my client and the offline support is stellar. I’m building a FreeBSD port for it too so it can have a forever home on my stable server.

by deberon

4/24/2025 at 4:09:45 AM

I love Audiobookshelf so much that I made an app for it, just released it today, its called SoundLeaf, if you want you could check it out here:

https://soundleafapp.com

by hemant6488

4/22/2025 at 3:43:31 PM

Love audiobookshelf! Though I've struggled to find good copies of audiobooks that aren't ~$50...

by LikeAnElephant

4/22/2025 at 5:34:16 PM

Second the other poster's Libro.fm suggestion. Also downpour.com. (Cheaper but not quite as wide of a selection as Libro.fm.)

by Uvix

4/22/2025 at 4:27:32 PM

Libro.fm is worth looking into, you can support authors and local bookstores.

by candiddevmike

4/19/2025 at 5:33:05 PM

A basic command-line tool to track your books read, show some basic stats and charts. All stored in a sqlite3 database and you can import from a Goodreads export CSV.

by marcuskaz

4/22/2025 at 2:25:59 PM

Which LLM did you use with Cursor? I suppose it was Claude 3.7 although recently Gemini 2.5 is getting more popular.

by benterix

4/22/2025 at 3:23:32 PM

I used mostly Claude 3.7 but recently been trying out Gemini 2.5 Pro which works really well too. AI really makes projects like this easy, it's a basic tool and doing simple tasks of converting or selecting data.

by marcuskaz

4/22/2025 at 2:11:36 PM

Any chance you'll consider adding support for Bookwyrm exports?

by shreyansdoshi

4/22/2025 at 4:27:19 PM

+1 for bookwyrm both ways sync

by stop_nazi

4/22/2025 at 7:14:41 PM

From the examples, it looks like this command-line tool should be able to be generalized to catalogue arbitrary data (retro gaming, tabletop games, movies, ...) with the same graphs/statistics/table, only with slightly larger overhead when querying the store. Along with a new command to create the catalogue and its columns of course.

    > catalogue new --numeric id, year, rating --text title, author
    > catalogue show --column id --value 123
    > catalogue show -c year -v 1984
    > catalogue report -c author (would show generic "Count" rather than "Books read")
Could also be extended so the user can provide a SQLite db name to create/use so you have a db per catalogue.

I've probably forgot some things as I'm just typing this out loud, but that's my general idea?

by jug

4/22/2025 at 3:30:13 PM

Cool. I like using the cli for almost ever, but somehow for books, I gravitate more towards something with a GUI. I use Zotero nowadays; seems enough for now.

by tkiolp4

4/22/2025 at 2:40:44 PM

Is it beyond the scope of this project to also have synopsis and link to notes about each book?

Would be nice to link to reflections.

Additionally, any thought given towards incorporating standard cataloging systems like Library of Congress?

by sightbroke

4/22/2025 at 2:16:22 PM

In case you are unaware, this shares a name with the audiobook seller Libro.fm.

by pyrophane

4/22/2025 at 2:31:47 PM

Are you saying this because there’s a link between the two?

I thought the reference simply was the word “book” in Italian.

by ron_k

4/22/2025 at 3:21:51 PM

I think they're just telling OP that the name might generate confusion. If that's the case, I don't really agree. "Libro", as you point out, is just Italian (and Spanish, fwiw) for "book".

by klez

4/22/2025 at 2:42:30 PM

Not really a contentful comment, but I wish I could still comfortably make time to read.

Zotero is cool. Hits some of the same requirements here, I think.

by aeblyve

4/22/2025 at 2:58:36 PM

Try a short story collection. Ten page chunks are easy to consume and you get to tell yourself you’re reading literature. It’s a good way to get back into reading on paper if you’ve been away and want to start small.

by jdpedrie

4/22/2025 at 2:59:14 PM

I was expecting command line financial software...oh well, maybe next time.

by analogwzrd