[HN Gopher] Libro: a command-line tool to track your books
___________________________________________________________________
Libro: a command-line tool to track your books
Author : marcuskaz
Score : 93 points
Date : 2025-04-19 17:33 UTC (3 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| marcuskaz wrote:
| 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.
| shreyansdoshi wrote:
| Any chance you'll consider adding support for Bookwyrm exports?
| marcuskaz wrote:
| I added as an issue here:
| https://github.com/mkaz/libro/issues/4
|
| It'd be relatively easy to add, I don't have an example
| format
| stop_nazi wrote:
| +1 for bookwyrm both ways sync
| benterix wrote:
| Which LLM did you use with Cursor? I suppose it was Claude 3.7
| although recently Gemini 2.5 is getting more popular.
| marcuskaz wrote:
| 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.
| pyrophane wrote:
| In case you are unaware, this shares a name with the audiobook
| seller Libro.fm.
| ron_k wrote:
| Are you saying this because there's a link between the two?
|
| I thought the reference simply was the word "book" in Italian.
| klez wrote:
| 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".
| 9dev wrote:
| 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.)
| majora2007 wrote:
| Kavita developer here. Colibri looks great, keep at it.
|
| I saw that you support fetching author information, etc, where
| are you sourcing that information?
| 9dev wrote:
| 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 :)
| reallydoubtful wrote:
| But currently it's from openlibrary.org right?
| https://github.com/colibri-
| hq/colibri/blob/next/apps/app/src...
| 9dev wrote:
| 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!
| candiddevmike wrote:
| 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/
| LikeAnElephant wrote:
| Love audiobookshelf! Though I've struggled to find good copies
| of audiobooks that aren't ~$50...
| candiddevmike wrote:
| Libro.fm is worth looking into, you can support authors and
| local bookstores.
| Uvix wrote:
| Second the other poster's Libro.fm suggestion. Also
| downpour.com. (Cheaper but not quite as wide of a selection
| as Libro.fm.)
| deberon wrote:
| 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.
| sightbroke wrote:
| 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?
| aeblyve wrote:
| 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.
| jdpedrie wrote:
| 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.
| hombre_fatal wrote:
| 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.
| qoez wrote:
| 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.
| poulpy123 wrote:
| 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.
| kps wrote:
| I've been using Tellico for some years. Normally I scan the
| ISBN and have it look up the rest of the book data.
| em-bee wrote:
| 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.
| analogwzrd wrote:
| I was expecting command line financial software...oh well, maybe
| next time.
| sohkamyung wrote:
| You mean like Ledger? [1]
|
| [1] https://ledger-cli.org/
| sohkamyung wrote:
| 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.
| greenie_beans wrote:
| that is an interesting metadata problem that i've never thought
| about! (not the creator of this btw)
| exe34 wrote:
| 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.
| tkiolp4 wrote:
| 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.
| randmeerkat wrote:
| emacs already has an extension for this:
| https://github.com/lepisma/org-books
| Rotundo wrote:
| I've been using https://www.librarything.com/ for many years.
| jug wrote:
| 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?
___________________________________________________________________
(page generated 2025-04-22 23:01 UTC)