A command-line interface (CLI) tool to search for books, generate AI-powered summaries, and manage your personal reading list with status tracking.
Built with Python, the Google Books API, Google GenAI, and SQLite for local data storage.
Search for books via Google Books API and view the top 5 results with AI-generated summaries
Add selected books from search results to your personal reading list
List all books in your reading list, with optional filtering by reading status (TBR, Reading, Read)
Update the reading status of books in your list
Delete books from your reading list
Local persistence using SQLite
Clone the repository and navigate into it.
Create and activate a Python virtual environment (recommended):
source venv/bin/activate
venv\Scripts\activate
- Install the package in editable mode. This will install your package and all required dependencies:
pip install -e .
After this step, all dependencies are installed and you can start using the CLI commands.
Run the CLI command bookclub:
python -m bookclub <command> [arguments]
Or, if installed as a script:
bookclub <command> [arguments]
Search for books matching <query> using the Google Books API. Shows top 5 results with AI-generated summaries.
bookclub search "harry potter"
Add one of the last search results to your reading list by its index number.
bookclub add 2
List all books in your reading list, optionally filtered by status (TBR, Reading, Read).
bookclub list
bookclub list --status TBR
Update the reading status of a book in your reading list by its database ID.
bookclub update-status 3 Reading
Delete a book from your reading list by its database ID.
bookclub delete 4
Search: Queries Google Books API for top 5 matching books, generates AI summaries per book.
Add: Saves selected book from last search to SQLite database along with its summary.
List: Retrieves and displays stored books with optional filtering by reading status.
Update-status: Updates the reading status (TBR, Reading, or Read) of a specific book by its ID.
Delete: Removes a book from the list based on its position in the current displayed list.
click for CLI commands
API keys/configuration for Google Books and AI summary generation (stored in app/config.py)
SQLite (bundled with Python)
Database management functions in app/book_list_db.py
Google Books API integration in app/google_books.py
AI summary generation in app/genai.py
Configuration and API keys in app/config.py