Skip to main content

Automated TLDR tech podcast generator using NotebookLM

Project description

🎙️ TLDR Tech Podcast Generator (NotebookLM Edition)

Ce projet automatise la création d'un podcast technologique quotidien de type "Deep Dive" en utilisant l'IA de Google, NotebookLM.

Le script récupère les 8 newsletters quotidiennes de TLDR.tech, en extrait les articles de fond (en filtrant les sponsors et les liens internes), puis génère une synthèse éditoriale et un podcast audio complet en anglais.

✨ Fonctionnalités

  • Extraction Intelligente : Analyse les 8 newsletters TLDR (AI, Dev, Tech, etc.) pour en extraire les articles sources originaux.
  • Filtrage Avancé : Exclut automatiquement les contenus sponsorisés et les liens de réseaux sociaux.
  • Workflow Deep Dive : Génère un briefing éditorial structuré avant de lancer la création du podcast pour une meilleure profondeur d'analyse.
  • Gestion de la Fraîcheur : Recherche automatiquement l'édition complète la plus récente (jusqu'à 3 jours en arrière) si celle d'aujourd'hui n'est pas encore disponible.
  • Packagé avec UV : Utilise le gestionnaire de paquets Python le plus rapide et moderne pour une isolation parfaite.

🚀 Installation

1. Prérequis

  • Python 3.12 ou supérieur.
  • uv installé sur votre système.
  • Un compte Google avec accès à NotebookLM.

2. Authentification

Le script utilise NotebookLMClient.from_storage(). Pour que cela fonctionne, vous devez avoir vos cookies d'authentification enregistrés localement. Si ce n'est pas encore fait, installez la CLI notebooklm et connectez-vous :

uv pip install notebooklm-py
notebooklm login

3. Installation Globale (Recommandé)

Pour installer l'outil globalement sur votre système et pouvoir l'utiliser n'importe où :

uv tool install nlm-podcast

4. Préparation du projet (Développement)

Si vous souhaitez contribuer ou modifier le code, clonez ce dépôt et installez les dépendances :

uv sync

🛠️ Utilisation

Si vous avez installé l'outil globalement :

generate-podcast

Si vous travaillez dans le répertoire du projet :

uv run generate-podcast

Le script effectuera les étapes suivantes :

  1. Vérification de la disponibilité des newsletters TLDR.
  2. Création d'un nouveau notebook dans votre compte NotebookLM.
  3. Extraction et ajout de jusqu'à 49 articles de fond.
  4. Génération d'un briefing éditorial détaillé (en anglais).
  5. Création du podcast audio "Deep Dive" au format Long.

📝 Configuration Éditoriale

Le système utilise un Persona d'Expert et un Prompt de Production détaillés pour garantir un contenu de haute volée.

Le podcast final est généré en anglais avec un ton professionnel et engageant, idéal pour rester à la pointe de l'actualité technologique pendant vos trajets ou vos séances de sport.

📂 Structure du projet

  • generate_tldr_podcast.py : Le script principal d'automatisation.
  • pyproject.toml : Configuration du projet et des dépendances uv.
  • uv.lock : Verrouillage déterministe des dépendances.

Projet généré par Gemini CLI.

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

nlm_podcast-0.1.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

nlm_podcast-0.1.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file nlm_podcast-0.1.0.tar.gz.

File metadata

  • Download URL: nlm_podcast-0.1.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.20 {"installer":{"name":"uv","version":"0.9.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nlm_podcast-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a9b97d7b0de1d2a3f01e679a1814782b2027c025a83fca96986fbbba06aa961b
MD5 c39c50bc6a499c296a772516cb991337
BLAKE2b-256 34a1c3afaa85b823c65c10954f2515490fbf884508774583ff195e988eb16c1a

See more details on using hashes here.

File details

Details for the file nlm_podcast-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: nlm_podcast-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.20 {"installer":{"name":"uv","version":"0.9.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nlm_podcast-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6b1e4e4325d2125585c6c0f5e2578aa7b3dbfcdfaa942f6a89d9d9f6b93ff947
MD5 085d009e509d9e9b8e9edad56b2d56eb
BLAKE2b-256 a9b6e1807e37f8b5a29a02e805384a64bf0667439bfa1673e6a41725a02f8a18

See more details on using hashes here.

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