github teng-lin/notebooklm-py v0.8.1

4 hours ago

Added

  • Added account-level notebook collections through client.collections and the
    notebooklm collection CLI group, including list, create, rename, membership,
    and delete operations.
  • Expanded source discovery with status/type filters, strict exact counts, Drive
    health, original-file links, MIME information, word counts, and revision
    timestamps. MCP and REST URL batches now use a single batch-capable request.
  • Added structured source documents and offset-aware citation data so callers can
    render readable source text and align citations with both answers and sources.
  • Exposed more notebook, artifact, chat, and research metadata, including project
    state, chat follow-up suggestions, artifact content/state, research mode,
    timings, termination reasons, and discovered-source ordinals.
  • Added standalone notebooklm research import, configurable research-import
    timeouts, bulk sharing grants with SharingAPI.set_users(), and sharing-policy
    and collaborator-limit fields.
  • Added opt-in mid-session NOTEBOOKLM_REFRESH_CMD support for long-running
    servers with NOTEBOOKLM_REFRESH_CMD_MIDSESSION=1.

Changed

  • The default NotebookLM host is now https://notebook.google.com; the previous
    https://notebooklm.google.com host remains supported for existing setups.
  • Notebook.last_viewed_at and NotebookMetadata.last_viewed_at now describe the
    backend timestamp accurately. The old modified_at names remain compatible
    aliases through v0.x.
  • Deep-research CLI waits now default to 1,800 seconds instead of 300 seconds.
  • Compatibility note: QuizQuantity.MORE now has its own wire value and no
    longer compares equal to QuizQuantity.STANDARD. Quiz and flashcard option
    inputs are also validated as enums.

Deprecated

  • Direct AuthTokens storage loading and cookie projections are deprecated in
    favor of managed NotebookLMClient.from_storage() lifecycles. They remain
    available through v0.x and are scheduled for removal in v1.0.
  • The pre-profiles home-root storage layout is deprecated. Running any
    notebooklm command migrates it to profiles/default/ automatically.
  • ChatReference.answer_start_char / answer_end_char are deprecated aliases
    for fragment_start_char / fragment_end_char; the old names remain through
    v0.x.

Fixed

  • Improved authentication and login reliability across both NotebookLM hosts,
    including Chromium setup diagnostics, custom storage paths, expired-session
    recovery, cookie persistence, and long-running MCP/REST sessions.
  • Prevented notebook and source create retries from adopting an older item,
    duplicating a committed item, or retrying when the idempotency probe itself
    could not establish a safe answer.
  • File uploads now preserve partial-failure recovery details, report processing
    failures that never resolve, and warn when a mistyped file extension would be
    treated as pasted text.
  • Corrected chat answer selection, conversation turn numbering, Unicode and
    multi-block citation offsets, full cited-text extraction, and source passage
    resolution.
  • Corrected notebook ownership, not-found handling, empty-notebook decoding, and
    create results when the pre-create baseline is unavailable.
  • Corrected artifact status decoding, generation rejection messages, quiz and
    flashcard option ordering, and audio downloads (.m4a / audio/mp4 rather
    than .mp3).
  • Research imports now tolerate the backend's known retry response, distinguish
    no-results and cancellation outcomes, and preserve typed failure reasons.
  • Corrected PowerPoint and unknown source-status decoding, Drive-source
    idempotency, Markdown full-text formatting, table-cell rendering, and custom
    per-RPC timeout handling.

Install with pip install notebooklm-py==0.8.1. Full changelog: CHANGELOG.md.

Don't miss a new notebooklm-py release

NewReleases is sending notifications on new releases.