Skip to main content

AKMS Node Generation

Tooling for turning NotebookLM-curated paper batches into validated AKMS knowledge nodes.

The package has two complementary flows:

  • Batch Picker: a local UI for assigning papers to one NotebookLM notebook per AKMS batch.
  • NLM batch generator: a serial CLI that asks a batch's NotebookLM notebook for structured YAML/JSON node output, then validates and writes the results locally.

Install

uv tool install akms-nodes-gen      # akms-pick on your PATH
# or
pip install "akms[nodes-gen]"

Batch picker

akms-pick --plan path/to/generation_plan.md --bibtex-json path/to/library.json

The picker is a local web UI for assigning papers from a Zotero library to the batches of a generation plan, staging their PDFs, creating one NotebookLM notebook per batch, and writing per-batch plan JSON. It needs:

  • a generation plan, anywhere on disk (--plan);
  • a Zotero library export in Better BibTeX JSON format (--bibtex-json).

zsum is optional. It keeps the export current and adds per-paper summaries that improve search. Without it, the picker says so in a banner and works from titles, abstracts and tags.

Its own files go in a workspace, by default the plan's directory (--workspace to change it). Nothing needs an AKMS checkout. See the picker documentation for the plan format and every option.

Serial NotebookLM batch generation

nlm_batch.py runs one selected batch/cluster at a time. It does not hardcode the NotebookLM prompt, source IDs, timeout, or output format; pass those at the CLI boundary.

uv run python -m akms_nodes_gen.nlm_batch \
  --plan path/to/workspace/plans/R7_B2_pf_energy_solvers_plan.json \
  --batch-id R7_B2 \
  --out-dir outputs/R7_B2_pf_energy_solvers \
  --prompt-file path/to/notebooklm_prompt.md \
  --template-file path/to/output_template.yaml \
  --source-ids source_a,source_b \
  --timeout 180 \
  --output-format yaml

Useful safety controls:

  • --require-source-refs is on by default and requires citations/source refs on equations, algorithms, pitfalls, and references.
  • --allow-invented-edges is off by default; edge targets must match known plan IDs or Tier-1 node IDs.
  • --max-retries controls local repair attempts when NotebookLM returns invalid structure.
  • --converter and --validator can run the existing YAML-to-Markdown and node validation scripts after each YAML write.

The generator writes:

  • {node_id}.yaml
  • _raw_responses/{node_id}.txt
  • _nlm_cache/*.json
  • _nlm_batch_state.json

Docs

Build the docs locally:

uv --project packages/akms_nodes_gen run --group docs \
  mkdocs build -f packages/akms_nodes_gen/mkdocs.yml

Main docs live in packages/akms_nodes_gen/docs/.

Metadata

Release files for akms-nodes-gen 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for akms-nodes-gen 0.3.2
File Size Uploaded
akms_nodes_gen-0.3.2.tar.gz 61.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for akms-nodes-gen 0.3.2
File Interpreter ABI Platform
akms_nodes_gen-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 133.2 kB

Release files / akms_nodes_gen-0.3.2.tar.gz

Download URL akms_nodes_gen-0.3.2.tar.gz
Size 61.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5f7ce2e87311c415da422ae8496c3a363cb8bc8cbd6bdc319e6550a0b1937ea2
BLAKE2b-256 checksum
How to use checksums
c34af1f5de060fdb079a1baf5ffcb6c841d6b195f572f8bfc1f0a144c2a05ed3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / akms_nodes_gen-0.3.2-py3-none-any.whl

Download URL akms_nodes_gen-0.3.2-py3-none-any.whl
Size 71.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2e061944d1f76549a17b35da213f646884103d8d74fed4554f4dd996cb05c9b9
BLAKE2b-256 checksum
How to use checksums
d998095326b19ac07de0684e3c8f18a6a3179e8f343207a08c370d19fef9bf11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.2 This release

2 release files

0.3.1

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page