A library to access the Project Gutenberg API
Project description
py-gutenberg
Overview
The py-gutenberg package is a Python library that provides methods to access the Project Gutenberg library. Users can search for books based on a variety of metadata, get full texts in various formats, and retrieve metadata for books by their ID number.
Installation
⚠️ This package has only been tested on Python 3.7 and above. There are no plans for a Python 2 version.
The package can be installed using the pip package manager:
pip install py-gutenberg
Usage
You should import the module like so:
from gutenberg import GutenbergAPI
The
GutenbergAPI
constructor defaults to using the public instance of the Gutendex API,https://gutendex.com
. If you are self-hosting the API, you can specify the IP address or URL of your instance with theinstance_url
parameter.
# Uses the public instance
gb = GutenbergAPI()
# Uses a self-hosted instance
gb_private = GutenbergAPI(instance_url="https://gutendex-two.com")
Book Lists and Searching
Here's a simple example to get a list of the most recently uploaded books:
gb.get_all_books()
Or, to get only public domain books:
gb.get_public_domain_books()
Individual Books
To get an individual book's metadata:
gb.get_book_metadata()
Or, to get the full text of a book:
gb.get_book_text()
Full usage information is available in the documentation
Thanks
This module is built on the wonderful but unofficial API built by @garethbjohnson over at gutendex.com. I have no reason to believe the hosting they've setup is meant to sustain more than a few concurrent users, so please be kind a limit your requests where possible. Additionally, if you intend to use this in a production environment, it is highly encouraged that you self-host.
Read about self-hosting the API here!
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
Built Distribution
File details
Details for the file py-gutenberg-1.0.0.tar.gz
.
File metadata
- Download URL: py-gutenberg-1.0.0.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10aa5219cf3a99d1cf96dd5697a70b58cab9381444a1683c43f617a343f5be02 |
|
MD5 | 8f7a5a0740b0cf1e85c02034da0ec017 |
|
BLAKE2b-256 | 7bc0182c5d22df52a8ac4ccc2eb56989c4c8b815d7300a2f3155ad8a99f00f56 |
File details
Details for the file py_gutenberg-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: py_gutenberg-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1828302966f1472c61877d7dc7188237106340a9622fb0b5c340486b62f00a83 |
|
MD5 | 75a499ee7382b550d843d70f6543644b |
|
BLAKE2b-256 | 11162396b15f12ae2b91f482c9c4f6251df35898f62d17fff57ecb4ed2015cc9 |