notebooklm-py System Overview

notebooklm-py System Overview An architecture diagram generated by Archify. Python Caller · async with NotebookLMClient · Architecture component Python Caller async with NotebookLMClient CLI · cli/ · Click · notebooklm-py package (src/notebooklm) · base install CLI cli/ · Click base install MCP Server · mcp/ · FastMCP · notebooklm-py package (src/notebooklm) · mcp extra MCP Server mcp/ · FastMCP mcp extra REST Server · server/ · FastAPI · notebooklm-py package (src/notebooklm) · server extra REST Server server/ · FastAPI server extra Application Layer · _app/ · neutral cores · notebooklm-py package (src/notebooklm) · errors.classify Application Layer _app/ · neutral cores errors.classify NotebookLMClient · composition root · 11 namespaces · notebooklm-py package (src/notebooklm) · one bound loop NotebookLMClient composition root · 11 namespaces one bound loop Web Backend · _web/ · batchexecute wire · notebooklm-py package (src/notebooklm) · default Web Backend _web/ · batchexecute wire default NotebookLM Web API · notebook.google.com · Architecture component NotebookLM Web API notebook.google.com Android Backend · _android/ · protobuf · notebooklm-py package (src/notebooklm) · opt-in Android Backend _android/ · protobuf opt-in Mobile gRPC API · labs.google orchestration · Architecture component Mobile gRPC API labs.google orchestration Profile Store · storage_state.json · notebooklm-py package (src/notebooklm) › credential authority Profile Store storage_state.json Auth Subsystem · _auth/ · refresh ladder · notebooklm-py package (src/notebooklm) › credential authority Auth Subsystem _auth/ · refresh ladder direct async API live client encode HTTPS POST serialize gRPC refresh cookie I/O notebooklm-py package (src/notebooklm) credential authority Legend Frontend Backend Database Cloud Security External

Adapters

  • • CLI: exit codes plus a byte-stable --json error envelope
  • • MCP: CODE: message · REST: error category plus HTTP status
  • • None import rpc/ or build raw batchexecute payloads

Shared core

  • • _app/ owns id resolution, plans, retry and wait orchestration
  • • errors.classify is the single failure-category source
  • • One client wires eleven feature namespaces at construction

Credentials and loops

  • • AuthTokens load from the profile store at open()
  • • 1PSIDTS rotation writes back through the store
  • • A client is bound to one event loop and one tenant