goodlibs
Download books from a Goodreads shelf using Library Genesis.
📚 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.
🛠️ 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
💻 Usage
💲 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
📃 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.
⚖️ License
This code is licensed under the GNU General Public License v3.0. For more details, please take a look at the LICENSE file.
🤝 Contributing
Contributions are welcome! Please feel free to open an issue or submit a pull request.
Metadata
Release files for goodlibs 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| goodlibs-0.1.1.tar.gz | 11.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| goodlibs-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.2 kB
Release files / goodlibs-0.1.1.tar.gz
| Download URL | goodlibs-0.1.1.tar.gz |
|---|---|
| Size | 11.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
be3a330d55cf10cf6613bc4e1c4c834e7507d4e6cd19134f66a53341a7a08c07
|
|
BLAKE2b-256 checksum How to use checksums |
54c72c331f9623fd703eaa69b12300559f677b1f854a0063b052c8160f056d0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / goodlibs-0.1.1-py3-none-any.whl
| Download URL | goodlibs-0.1.1-py3-none-any.whl |
|---|---|
| Size | 24.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f866a00019a2ba3d534d9f5cbf2b3e257db0751a59d1b61b4b0ee97c0a4f475c
|
|
BLAKE2b-256 checksum How to use checksums |
553061fdff836bf7a4ddbe200069294e18711d4e0e4b10c034bb2b6f8e1a1089
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|