Skip to main content

Download books from a Goodreads shelf using Library Genesis.

Project description

goodlibs

build Latest Version Supported Python Versions Code Style: Black

Download books from a Goodreads shelf using Library Genesis.

:books: Background

Goodreads is a social cataloging website that allows you to search for books and save them to reading lists, known as "shelves".

Library Genesis (Libgen) is a file-sharing website for scholarly journal articles, academic and general-interest books, images, comics, and magazines.

goodlibs is a simple utility that searches for and downloads all items from a Goodreads shelf using Libgen. It was built using betterreads and a modified fork of libgen.py.

In solidarity with Library Genesis. In memory of Aaron Swartz.

:hammer_and_wrench: Installation

Install using pip:

pip3 install goodlibs

Goodreads setup

  1. Register for a Goodreads API key in order to access your list of books.
  2. Ensure your Goodreads account privacy settings allow for access to your shelves via the API.
    • Set Who can view my profile: to anyone (including search engines)
    • Check the box Allow partners of Goodreads to display my reviews

:computer: Usage

:heavy_dollar_sign: From the command line

For basic usage, start with the download command:

goodlibs download --help

If you want to save your options for later, use the configure command:

goodlibs configure --help

Typical usage:

goodlibs download -k yourgoodreadsapikey -u yourgoodreadsusername -e mobi -e epub -e pdf

:page_with_curl: From a script

from goodlibs import goodreads, libgen

# Get the list of books from Goodreads.
books = goodreads.get_books(api_key="yourgoodreadsapikey",
                            username="yourgoodreadsusername",
                            shelf_name="to-read")              # Optional.

# Query Libgen with the list of books.
libgen.download_books(books=books,
                      language="English",                      # Optional.
                      extensions=("mobi", "epub", "pdf"))      # Optional.

:balance_scale: License

This code is licensed under the GNU General Public License v3.0. For more details, please take a look at the LICENSE file.

:handshake: Contributing

Contributions are welcome! Please feel free to open an issue or submit a pull request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

goodlibs-0.1.1.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

goodlibs-0.1.1-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file goodlibs-0.1.1.tar.gz.

File metadata

  • Download URL: goodlibs-0.1.1.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for goodlibs-0.1.1.tar.gz
Algorithm Hash digest
SHA256 be3a330d55cf10cf6613bc4e1c4c834e7507d4e6cd19134f66a53341a7a08c07
MD5 0940a03bad3888bcfde5db685100e313
BLAKE2b-256 54c72c331f9623fd703eaa69b12300559f677b1f854a0063b052c8160f056d0b

See more details on using hashes here.

File details

Details for the file goodlibs-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: goodlibs-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for goodlibs-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f866a00019a2ba3d534d9f5cbf2b3e257db0751a59d1b61b4b0ee97c0a4f475c
MD5 80b8bb5f01eb0cfb506551eab884dfe6
BLAKE2b-256 553061fdff836bf7a4ddbe200069294e18711d4e0e4b10c034bb2b6f8e1a1089

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page