Skip to main content
The local SQLite database powers cache lookups, history, stats, and export tracking.
notewise stores local cache data in SQLite at:
~/.notewise/.notewise_cache.db

Tables at a glance

video

Core metadata per video id.

transcript

Cached transcript payload and language.

runstats

Token, cost, and timing telemetry per run.

exportrecord

Transcript export format and path history.

Table schemas

video

One row per processed video id.
ColumnTypeNotes
idstring (PK)YouTube video id
titlestringVideo title at processing time
durationintDuration in seconds
cached_atdatetimeLast cache write timestamp

transcript

Transcript text cache — unique per video.
ColumnTypeNotes
idint (PK)Auto increment
video_idstring (FK → video.id)Indexed, unique constraint
contentstringFull transcript text
languagestringLanguage code

runstats

Per-run usage and timing telemetry.
ColumnTypeNotes
idint (PK)Auto increment
video_idstring (FK → video.id)Indexed
tokens_usedintTotal tokens
prompt_tokensintPrompt tokens
completion_tokensintCompletion tokens
cost_usdfloatEstimated cost
modelstringModel used
transcript_secondsfloatTranscript fetch time
generation_secondsfloatGeneration time
timestampdatetimeRun timestamp

exportrecord

Tracks transcript export files.
ColumnTypeNotes
idint (PK)Auto increment
video_idstring (FK → video.id)Indexed
formatstringtxt or json
output_pathstringAbsolute or resolved output path
timestampdatetimeExport timestamp

Relationships

video 1 ──── 1 transcript
video 1 ──── N runstats
video 1 ──── N exportrecord

Operational notes

  • Cache reads drive stats, history, and skip-if-processed logic.
  • Clearing the cache removes database records only — generated note files on disk are not affected.
  • Schema migrations are managed in src/notewise/storage/migrations.py (no Alembic).
cache --clear affects only database-backed records. It does not delete generated Markdown files from your output directory.