Added
- 📝 Transcripts / captions via
YouTube.transcript()and
YouTube.transcripts(), modeled after youtube-transcript-api:
ANDROID InnerTubeplayerfor caption tracks, timedtext XML download,
language priority, manual-vs-ASR preference, optional server-side
translate(), and CLIytscrape transcript. - New types:
Transcript,TranscriptSnippet,TranscriptTrack,
TranscriptList; errorsTranscriptsDisabled,NoTranscriptFound. - Example
examples/09_transcript.py. - 🖼️ Richer
ChannelDetails:photo(avatar),banner,country,
joined_date,view_count, andlinksas a platform→URL dictionary
(e.g.{"x": "…", "instagram": "…", "discord": "…"}). About-panel fields
are loaded via the channel engagement-panel continuation. - 📺 Channel metadata with
YouTube.channel(channel). Pass a channel id
(UC…), a@handle, or any channel URL (/channel/…,/@handle,/c/…,
/user/…) and get a typedChannelDetailsmodel (title, description,
handle, subscribers, video count, keywords/tags, avatar, vanity + RSS URLs,
family-safe flag, available countries, external links). - 🔌 New low-level
InnerTubeClient.browse()/get_html()helpers used by
channel resolution. - 🖥️ New CLI command:
python -m ytscrape channel <id|@handle|url>. - 📚 New example
examples/08_channel_details.py.