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
Usage
ietf-notebook [wg_shortname] _OPTIONS_
Options
wg_shortname: IETF Working Group short name (e.g.,httpbis).--destination: Folder to save files in (default: current directory).--github: GitHub org/repo for issues (e.g.,ietf-wg-httpbis/wg-materials).--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: all).--create: See "NotebookLM Export" below.--force: Force re-downloading of existing files. By default, the tool skips files that already exist in the destination.--quiet: No messages except for errors and the final resource summary.--verbose: Detailed progress reporting.
Default Behavior
- Charters, Meetings, and Documents: Existing files are skipped unless
--forceis 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.organd cached locally in~/.cache/ietf-notebook/{wg_name}/imap-cache/. - GitHub Strategy: The tool first checks for
archive.jsonon thegh-pagesbranch. - Transcripts: Meeting transcripts are fetched from the
ietf-minutes-datarepository 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_TOKENenvironment variable. - NotebookLM Export: Use the
--createflag 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:
- Google Cloud Project: You must have a GCP project with the Discovery Engine API enabled.
- OAuth Credentials: You need an "OAuth 2.0 Client ID" (Type: Desktop App) from the Google Cloud Console.
- Client Secrets: Save the JSON file as
client_secrets.jsonin~/.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ietf_notebook-0.2.0.tar.gz.
File metadata
- Download URL: ietf_notebook-0.2.0.tar.gz
- Upload date:
- Size: 21.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6845dd6bc6243c5080ca3a56ce2341b507ae38528a08b5a8e1b82c38ea740a6c
|
|
| MD5 |
c196cac728dc32ee3fd62c2620f1d591
|
|
| BLAKE2b-256 |
b348b466f00f0c7db2283cf678a554c34ea05e6447ecb5a026185c3fe6d34233
|
Provenance
The following attestation bundles were made for ietf_notebook-0.2.0.tar.gz:
Publisher:
publish.yml on mnot/ietf-notebook
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ietf_notebook-0.2.0.tar.gz -
Subject digest:
6845dd6bc6243c5080ca3a56ce2341b507ae38528a08b5a8e1b82c38ea740a6c - Sigstore transparency entry: 1191627580
- Sigstore integration time:
-
Permalink:
mnot/ietf-notebook@04d22ed8ca6d592ea7cc99614e8f867d3f6fa281 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/mnot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@04d22ed8ca6d592ea7cc99614e8f867d3f6fa281 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ietf_notebook-0.2.0-py3-none-any.whl.
File metadata
- Download URL: ietf_notebook-0.2.0-py3-none-any.whl
- Upload date:
- Size: 24.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fee4ee4ae7489bf69a385336f9fd0c5527a46281b737fd19550cbe5d5cb22d51
|
|
| MD5 |
48411040a8a4369e99b07e79714957ad
|
|
| BLAKE2b-256 |
06c729b3583ad74e02109877b5244ec0ac45f171b07cd7c4e61df18c1c1a26b2
|
Provenance
The following attestation bundles were made for ietf_notebook-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on mnot/ietf-notebook
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ietf_notebook-0.2.0-py3-none-any.whl -
Subject digest:
fee4ee4ae7489bf69a385336f9fd0c5527a46281b737fd19550cbe5d5cb22d51 - Sigstore transparency entry: 1191627586
- Sigstore integration time:
-
Permalink:
mnot/ietf-notebook@04d22ed8ca6d592ea7cc99614e8f867d3f6fa281 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/mnot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@04d22ed8ca6d592ea7cc99614e8f867d3f6fa281 -
Trigger Event:
push
-
Statement type: