Skip to main content

Lightweight CLI for ingesting, enriching, and storing meeting transcripts

Project description

Transcript CLI

A lightweight CLI for ingesting meeting transcripts from Gmail, enriching them with an LLM, and storing the results as local files.

Gmail -> Extract Google Doc -> LLM Enrich -> Local Files

Prerequisites

  • Python 3.12+
  • uv
  • A Google Cloud project with Gmail API and Google Drive API enabled
  • An Anthropic API key (for LLM enrichment)

Setup

1. Install dependencies

uv sync

2. Configure Google OAuth

Create an OAuth 2.0 Client ID (Desktop app) in your Google Cloud Console, download the JSON, and place it at:

~/.config/transcript/client_secret.json

3. Set your API key

Create a .env file in the project root:

ANTHROPIC_API_KEY=your-key-here

4. Configure the project

Edit .transcripts/config.yaml:

sources:
  gmail:
    profile: default
    sender: gemini-notes@google.com

lookback_days: 7

destinations:
  - type: local
    path: .transcripts/

5. Authenticate with Gmail

uv run transcribe auth gmail

Usage

Ingest transcripts

# Last 7 days (default)
make ingest

# Today only
make ingest ARGS="--days 1"

# Specific date range
make ingest ARGS="--from 2026-04-01 --to 2026-04-05"

# Preview what will be ingested (no fetching, no LLM, no writing)
make ingest ARGS="--days 1 --dry-run"

Or without Make:

uv run transcribe ingest gmail --days 1

Output

Each transcript produces three files under .transcripts/:

.transcripts/
  2026-04-09-ai-labs-daily/
    raw.txt          # Original transcript (immutable)
    clean.md         # Structured: title, summary, topics, clean transcript
    metadata.json    # Source, date, participants, topics

Prompts

LLM prompts live in prompts/ as markdown files. Edit prompts/enrich.md to change how transcripts are processed.

Commands

Command Description
transcribe auth gmail Authenticate with Gmail (OAuth)
transcribe ingest gmail Ingest transcripts from Gmail

Ingest options

Flag Description
--days N How many days back to search
--from YYYY-MM-DD Start date
--to YYYY-MM-DD End date
--profile NAME Gmail auth profile
--dry-run List matching emails without processing

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

transcribe_it-0.1.0.tar.gz (138.9 kB view details)

Uploaded Source

Built Distribution

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

transcribe_it-0.1.0-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: transcribe_it-0.1.0.tar.gz
  • Upload date:
  • Size: 138.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.8

File hashes

Hashes for transcribe_it-0.1.0.tar.gz
Algorithm Hash digest
SHA256 94dbc49b6c90de1a498fa6851ba98cfe03b6b2f74bdea9779ae18ef18d950f79
MD5 1eb1a226fa4e5dde3908f5ab36407cea
BLAKE2b-256 5626bad6e1b87ec6b714f5c5a20dac356c1213d6c02a878a159a7a11e0b4645c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for transcribe_it-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b8dd2408e8060ddf0caa86d5cca3dfb9e1aad3fa6b8eeb6fe0a55de4884960c8
MD5 f134858f9bd67892a415779d04b65a43
BLAKE2b-256 f13e2b1c70748a7c74acb649df710df920735ff1ba5f3451006861e2e6459bbc

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