Download books from a Goodreads shelf using Library Genesis.
Project description
goodlibs
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
- Register for a Goodreads API key in order to access your list of books.
- Ensure your Goodreads account privacy settings allow for access to your shelves via the API.
- Set
Who can view my profile:
toanyone (including search engines)
- Check the box
Allow partners of Goodreads to display my reviews
- Set
: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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | be3a330d55cf10cf6613bc4e1c4c834e7507d4e6cd19134f66a53341a7a08c07 |
|
MD5 | 0940a03bad3888bcfde5db685100e313 |
|
BLAKE2b-256 | 54c72c331f9623fd703eaa69b12300559f677b1f854a0063b052c8160f056d0b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | f866a00019a2ba3d534d9f5cbf2b3e257db0751a59d1b61b4b0ee97c0a4f475c |
|
MD5 | 80b8bb5f01eb0cfb506551eab884dfe6 |
|
BLAKE2b-256 | 553061fdff836bf7a4ddbe200069294e18711d4e0e4b10c034bb2b6f8e1a1089 |