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-it 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-it 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-it auth gmail Authenticate with Gmail (OAuth)
transcribe-it 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.1.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.1-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: transcribe_it-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 476e4a7ff0bec978eac93d19d912d7d94502fdadbe54053fbcdb32854577c766
MD5 d51648988a7d60185131fe172d3b2201
BLAKE2b-256 d3ee40e2117273214d3b2cc1581ee095971760fc7c38927cd3fe3176ca26b74e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for transcribe_it-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0ef59ac6f59ef0d0fc259f8c792e8fbaeaf63961fa9cc40899ccf206024f09ed
MD5 30b823e58367e13b63e2ae95c233090b
BLAKE2b-256 298ab20d735b63fbe509b9292d001d38e8ece3a752400d13268421814bada966

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