notebooklm-chunker
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
nblmengine 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.
Sources
Review, search, and edit generated chunks inline. Bulk select and delete, or refine titles and content before syncing.
NotebookLM Dashboard
Browse all your NotebookLM notebooks in one place. Open a workspace to see synced sources, manage studio jobs, and track outputs.
Notebook Workspace
Inspect synced sources for any notebook. Select sources individually or in bulk to build studio queue batches.
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.
Settings
Configure per-studio defaults: language (80+ languages), format, download format, and parallel request limits. Sync settings control parallel chunk uploads.
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
- Install the Python CLI (needed by the desktop app):
pip install notebooklm-chunker
python -m playwright install chromium
- Login to NotebookLM:
nblm login
Option A: Download Release Binary
Download the latest release for your platform from GitHub Releases:
- macOS:
.dmgor.zip - Windows:
.exe(installer) or portable - Linux:
.AppImageor.deb
The desktop app expects nblm to be available on your system PATH.
Option B: Run From Source
cd desktop
npm install
npm run dev
Setup Check
On first launch, the app verifies:
nblmis 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:
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
Metadata
Release files for notebooklm-chunker 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| notebooklm_chunker-0.5.0.tar.gz | 64.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| notebooklm_chunker-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 113.6 kB
Release files / notebooklm_chunker-0.5.0.tar.gz
| Download URL | notebooklm_chunker-0.5.0.tar.gz |
|---|---|
| Size | 64.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5f405a20f474a0255f44c4d9de38afceec3905b9afc71f56b4a1bb1d086e4f4e
|
|
BLAKE2b-256 checksum How to use checksums |
700fe3c392d1ae8509c7e8379989647ae3e89b1e454665474ee66b5162ac345b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 14, 2026.
Transparency logRelease files / notebooklm_chunker-0.5.0-py3-none-any.whl
| Download URL | notebooklm_chunker-0.5.0-py3-none-any.whl |
|---|---|
| Size | 49.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2d3fb942be3e7022b85197ce11065c301ff598cc83e148d52c96d7fe8ea382ce
|
|
BLAKE2b-256 checksum How to use checksums |
96d7421b45a818f9e58b995c99d81616d8ccd30c1b9014eedb662e812cc998d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 14, 2026.
Transparency log