Skip to content
This repository has been archived by the owner on Dec 13, 2020. It is now read-only.
/ goodreads-sh Public archive

📙Command line interface for Goodreads.com. Written in Rust.

License

Notifications You must be signed in to change notification settings

thundergolfer/goodreads-sh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚨 Notice 🚨

Just read an email from Goodreads.com that said:

"As of December 8th 2020, Goodreads will no longer issue new developer keys for our public developer API and plans to retire these tools."

So looks like this CLI will become non-functional soon, and is currently non-functional to any new users. Thanks a lot Goodreads.


goodreads-sh

Command line interface for Goodreads. Focuses on letting you quickly update your current reading activity, and giving you quick access to what your friends are reading.


⚠️ Notice: This is only my 2nd Rust project, after slackify-markdown, and so while the project is functional the code is not pretty.

Installation

Homebrew

Easiest way to install on macOS is by using Homebrew.

$ brew tap thundergolfer/homebrew-formulae
$ brew install goodreads-sh

Manual Installation

You can get binaries for OSX and Linux on this project's releases page.

After downloading, you unzip the .tar.gz and move the binary to a place that's on your path ($PATH on Linux/OSX).

[Required] Developer key

goodreads-sh requires your developer key and developer secret in order to read-write to the goodreads API. Obtaining them is fairly trivial.

  1. Access your developer key and secret here.
  2. Copy your developer key and secret over to goodreads-sh's config file. ~/.goodreads.toml
developer_key = "<your_key_here>"
developer_secret = "<your_secret_here>"

Your config file should already be present in your home dir ~/.goodreads.toml and if it's not, then run the command once without any options or create the file manually.

Usage

USAGE:
    goodreads-sh <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    add-to-shelf    Add a book to an existing shelf (eg. currently-reading, to-read)
    auth            Setup OAuth for the CLI (1 time only)
    finished        Tell Goodreads you've finished a book that you're currently reading
    help            Prints this message or the help of the given subcommand(s)
    me              Show your User ID
    new             Tell Goodreads you've started a new book
    update          Update progress on a book you're currently reading

Credit

  • Kudos to Danish Prakash for his implementation, goodreadsh, which I used and learned from while I developed this CLI. 🙏