notebooklm-py
Unofficial Python library for automating Google NotebookLM
What it is and what it does
notebooklm-py is an unofficial Python client for Google Gemini Notebook (rebranded from NotebookLM in July 2026). It exposes programmatic access to the service's core capabilities—document ingestion, grounded question-answering, and artifact generation—including features not available in the web UI. The library drives the same underlying Google service and works unchanged after the rebrand.
The package is designed for automation workflows: bulk-importing sources (URLs, PDFs, YouTube, Google Drive), running research queries with auto-import, generating media (podcasts, videos, slide decks, quizzes, flashcards, mind maps), and downloading artifacts locally in multiple formats. It integrates with AI agents via a skill interface and an MCP server, and supports CLI usage for unattended, headless, or scheduled tasks. The library treats NotebookLM as a grounded synthesis and memory layer—offloading expensive analysis to Gemini while an agent orchestrates the final mile.
Use it for:
- Offload expensive document analysis to Gemini, letting your agent spend tokens only on final polish rather than reading large source sets.
- Build persistent cross-session memory by appending session decisions as notes and querying them at the start of the next session.
- Generate multiple content formats (podcast, video, slides, quiz, flashcards) from a single source set and export programmatically.
- Create a grounded knowledge base by loading product docs and FAQs, then querying for cited answers instead of hallucinated ones.
- Integrate into AI agents as a skill to provide source-grounded answers from your internal docs or architecture RFCs.
- Automate incident response by spinning up a notebook of relevant docs on alert and generating a diagnostic briefing.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Programmatic access to Google Gemini Notebook for automating research, content generation, and artifact export via Python, CLI, and AI agent integration.
Yes, with conditions. The package is actively maintained, has low install friction, and offers genuine value for research automation, content generation, and agent integration workflows. However, it relies on undocumented Google APIs that can break without notice, carries no official support, and is best suited for prototypes, research, and personal projects rather than production systems. Verify rate limits and API stability for your use case before committing to heavy-usage workflows.
Install
notebooklm-py on PyPI
pip
pip install notebooklm-pyuv
uv add notebooklm-pypoetry
poetry add notebooklm-pyInstalling notebooklm-py
Before you install
Low friction: pure Python wheel with only four runtime dependencies (click, filelock, httpx, rich). Active maintenance with a recent release (0.8.1 on 2026-08-14) and substantial community adoption (18706 GitHub stars). Supports Python 3.10 through 3.14.
License in practice
MIT license permits commercial and private use with minimal restrictions. You may use, modify, and distribute this package freely as long as you include the license notice.
Quickstart
pip install notebooklm-py
import notebooklm_py
# Create a notebook and add sources
notebook = notebooklm_py.create_notebook("My Research")
notebook.add_source("https://example.com/doc.pdf")
# Query and generate artifacts
answer = notebook.ask("What are the key findings?")
notebook.generate_audio_overview()
Requires Google authentication (NotebookLM/Gemini account). Uses undocumented Google APIs that may change without notice; rate limits apply.
Verify before relying
- Specific rate limits and throttling thresholds for heavy usage
- Stability guarantees or SLA for undocumented API endpoints
- Whether all web UI features are accessible via the Python API
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — click, filelock, httpx, rich |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 187,418/month — #9,966 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: notebooklm_py-0.8.1-py3-none-any.whl
Keywords: ai, api, automation, client, google, notebooklm, rpc
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
notebooklm-mcp-cliProvides CLI and MCP server access to Google…
permissive · top 15,000 on PyPI
google-agents-cliA CLI toolchain that equips coding agents…
permissive · top 15,000 on PyPI
google-genaiPython SDK for integrating Google's Gemini…
permissive · top 1,000 on PyPI
jupyter-ai-magicsJupyter AI Magics provides a JupyterLab…
permissive · top 15,000 on PyPI
vertexaiPython SDK for building, deploying, and…
permissive · top 5,000 on PyPI
google-cloud-aiplatformPython SDK for building, deploying, and…
permissive · top 1,000 on PyPI
vlmrunPython SDK for the VLM Run API platform,…
permissive · top 15,000 on PyPI
google-antigravityBuilds and runs AI agents powered by Google's…
permissive · top 15,000 on PyPI
claude-tapclaude-tap is a local proxy and trace viewer…
permissive · top 15,000 on PyPI
boost-skill-cliboost-skill-cli is a package manager for AI…
copyleft · top 15,000 on PyPI