Skip to main content

Gather resources for an IETF Working Group for use in NotebookLM

Project description

ietf-notebook

Automate gathering of NotebookLM-ready documents for an IETF Working Group.

This tool gathers Working Group charters, drafts, meeting minutes, PDF slides, meeting transcripts, mailing list archives, and GitHub issues into a set of clean text files and PDFs suitable for ingestion into NotebookLM.

Installation

pipx install ietf-notebook

Certificate Errors

If you encounter SSL or certificate errors (common behind corporate firewalls), install with the certs option:

pipx install ietf-notebook[certs]

Usage

First Run

To start collecting documents for a Working Group, use the --destination flag to specify where the documents should be stored. This will create a directory with the WG name and populate it with the WG charter, meeting minutes, slides, transcripts, mailing list archives, and GitHub issues.

Because ietf-notebook persists Working Group configuration options, you don't need to specify them again for that Working Group. Use --clear-config to reset a group's configuration.

ietf-notebook [OPTIONS] --destination _destination_ _wg_shortname_

Then, upload all of the files in destination to NotebookLM.

Subsequent Updates

To update the documents, run with the --update flag.

ietf-notebook --update _wg_shortname_

destination will only contain files that have changed since the last run. Upload the new and updated files to NotebookLM.

Options

Working Group configuration:

  • wg_shortname: IETF Working Group short name (e.g., httpbis).
  • --github: GitHub org/repo for issues (can be specified multiple times).
  • --github-label: Include only GitHub issues with this label (can be specified multiple times).
  • --exclude-github-label: Exclude GitHub issues with this label (can be specified multiple times).
  • --months: Number of months of mailing list history to fetch (default: 12).
  • --clear-config: Clear and reset the persisted configuration for this Working Group.

Output control:

  • --destination: Folder to populate with group records.
  • --create: See "NotebookLM Export" below.
  • --clear-cache: Clear the local file cache and re-download everything from scratch.
  • --update: Only write updated files to destination. NOTE: the destination folder is emptied when using this flag.

General options:

  • --quiet: No messages except for errors and the final resource summary.
  • --verbose: Detailed progress reporting.

Default Behavior

  • Mirroring Strategy: By default, the --destination folder is updated with the latest versions of all files from the local cache. If --update is used, only files that have changed during the current run will be written there.
  • File Caching: All documents are collected in ~/.cache/ietf-notebook/[wg]/files/ to avoid redundant downloads.
  • Charters, Meetings, and Documents: Existing files in the cache are skipped unless --clear-cache is used.
  • Mailing List Discovery: The tool automatically finds the mailing list for the WG from the Datatracker.
  • IMAP Retrieval: Mailing list archives are fetched via IMAP from imap.ietf.org and cached locally in ~/.cache/ietf-notebook/{wg_name}/imap-cache/.
  • GitHub Strategy: The tool first checks for archive.json on the gh-pages branch.
  • Transcripts: Meeting transcripts are fetched from the ietf-minutes-data repository and cached locally in ~/.cache/ietf-notebook/{wg_name}/transcript-cache/.
  • GitHub Auth: To avoid rate limits when fetching from the API, set the GITHUB_TOKEN environment variable.
  • NotebookLM Export: Use the --create flag to automatically create a new notebook in NotebookLM Enterprise and upload all generated archives as sources.

NotebookLM Export (Enterprise only)

If you have a Google Workspace Enterprise account with NotebookLM enabled, you can programmatically create a notebook and upload your gathered resources.

ietf-notebook httpbis --create [MY_PROJECT_ID]

Requirements:

  1. Google Cloud Project: You must have a GCP project with the Discovery Engine API enabled.
  2. OAuth Credentials: You need an "OAuth 2.0 Client ID" (Type: Desktop App) from the Google Cloud Console.
  3. Client Secrets: Save the JSON file as client_secrets.json in ~/.config/ietf-notebook/ (or specify its path with --credentials-file).

The first time you run this, a browser window will open to authorize the application. Your access permissions will be cached in ~/.config/ietf-notebook/token.json (or you can specify with --token-file).

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ietf_notebook-0.3.2.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ietf_notebook-0.3.2-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file ietf_notebook-0.3.2.tar.gz.

File metadata

  • Download URL: ietf_notebook-0.3.2.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ietf_notebook-0.3.2.tar.gz
Algorithm Hash digest
SHA256 44720631294bb578ecd8031a6db9f44fb6aec165849a6d1edfc73827a5e4cc72
MD5 f7b70471ec98da5b796d413d305fe142
BLAKE2b-256 1211247c228ab4ee70e0932afc15690fad161b31a619dea7940311b9c9c8ae54

See more details on using hashes here.

Provenance

The following attestation bundles were made for ietf_notebook-0.3.2.tar.gz:

Publisher: publish.yml on mnot/ietf-notebook

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ietf_notebook-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: ietf_notebook-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 28.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ietf_notebook-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 151fea2a059d8e491b2d62548867b37e8cef66372cd6e4b6c8ecd1fef37deaf0
MD5 d64095f676f26c89b4fcef078beabe70
BLAKE2b-256 ccf62de632d81ea08933173b5c62e3f3e7a9b181e3a54bae002efe69ce1ad63f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ietf_notebook-0.3.2-py3-none-any.whl:

Publisher: publish.yml on mnot/ietf-notebook

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page