Skip to content

Repository files navigation

NotebookLM Chunker

notebooklm-chunker

CI Desktop Release PyPI version License: MIT

Turn long documents into smaller, heading-aware NotebookLM sources so reports, slide decks, quizzes, flashcards, and audio outputs stay more focused and useful.

Two interfaces, one core. The Desktop app provides a visual workflow. The CLI provides scriptable automation. Both use the same nblm engine underneath.

  • This page covers the Desktop app
  • CLI.md covers the Python CLI

Desktop App

An Electron desktop client that wraps the nblm CLI into a full visual workflow — from PDF upload to NotebookLM Studio generation.

Partition Strategy

Set min and max pages per chunk, skip pages from the beginning (preface, TOC) or end (index, bibliography), and see the estimated chunk count before processing. The chunker splits at heading boundaries to keep each source semantically coherent — when the PDF has an embedded table of contents, headings and chapter hierarchy come straight from the publisher's outline, and chunk boundaries prefer chapter starts over sub-sections.

Structure

Sources

Review, search, and edit generated chunks inline. Bulk select and delete, or refine titles and content before syncing.

Sources

NotebookLM Dashboard

Browse all your NotebookLM notebooks in one place. Open a workspace to see synced sources, manage studio jobs, and track outputs.

NotebookLM Dashboard

Notebook Workspace

Inspect synced sources for any notebook. Select sources individually or in bulk to build studio queue batches.

Notebook Workspace

Studio Queue

Queue reports, slides, quizzes, flashcards, or audio jobs across sources. Filter by studio type, search by name or status. Retry failed jobs individually or in bulk — quota exhaustion is automatically detected.

Studio Queue

Settings

Configure per-studio defaults: language (80+ languages), format, download format, and parallel request limits. Sync settings control parallel chunk uploads.

Settings

More Features

Feature Description
Bulk source upload Upload dozens or hundreds of chunks to a single notebook in one operation with parallel processing
Bulk source delete Select and delete multiple chunks at once from the catalog
Resume interrupted uploads Sync tracks per-chunk status — come back tomorrow and only the remaining chunks get uploaded
Prompt library Save reusable prompts per studio type and apply them from the queue builder
Skip pages Exclude preface, table of contents, index, or bibliography pages before chunking
Versioned lineages Multiple chunk versions of the same PDF, each with independent sync and studio state
Offline-first Chunk and edit locally without a network connection — sync when ready

Installation

Prerequisites

  1. Install the Python CLI (needed by current release binaries):
pip install notebooklm-chunker
python -m playwright install chromium
  1. Login to NotebookLM:
nblm login

Option A: Download Release Binary

Download the latest release for your platform from GitHub Releases:

  • macOS: .dmg or .zip
  • Windows: .exe (installer) or portable
  • Linux: .AppImage or .deb

Current releases expect nblm to be available on your system PATH (see Prerequisites above).

Option B: Run From Source

cd desktop
npm install
npm run dev

Optional: bundle the engine into the app so it does not depend on a system Python install (experimental):

bash scripts/build_sidecar.sh   # builds desktop/sidecar/dist/nblm
cd desktop && npm run build:mac # or build:win / build:linux

Setup Check

On first launch, the app verifies:

  • nblm is available on PATH
  • Playwright Chromium is installed
  • NotebookLM auth state is ready

You can continue into the app for local-only work even if auth is not ready yet.

Build

Platform-specific builds:

cd desktop
npm run build:mac    # macOS (.dmg, .zip)
npm run build:win    # Windows (.exe, portable)
npm run build:linux  # Linux (.AppImage, .deb)

CLI

The Python CLI is the automation engine. It handles document parsing, heading-aware chunking, NotebookLM uploads, and Studio generation.

For full CLI documentation, installation, config examples, and usage:

CLI.md

Quick start:

pip install notebooklm-chunker
python -m playwright install chromium
nblm login
nblm run --config ./nblm.toml

Development

For setup, testing, packaging, and GitHub release flow, see DEVELOPMENT.md.

License

MIT

About

Heading-aware PDF chunking with resumable source and Studio workflows for turning long documents into interactive NotebookLM learning kits.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages