Skip to content

Releases: kaya70875/ytfetcher

v1.4.1

10 Nov 11:59

Choose a tag to compare

What's New

Fix

  • Fixed an issue where running the CLI with from_video_ids would fail with a KeyError: 'url' if the yt_dlp result for a video did not include a url key by @vabe44

Upgrade

Don't forget to upgrade ytfetcher

pip install --upgrade ytfetcher

Contribute

Found a bug or have an idea? Open an issue

v1.4

26 Oct 12:26

Choose a tag to compare

What's New

Fetching Only Manually Created Transcripts

You can now fetch only manually created transcripts with ytfetcher which allows you to get more precise transcripts. (Closes #2)

This feature could be used channels like TEDx which has more manually created transcripts.

Here how you can use it:

Python API

fetcher = YTFetcher.from_channel(channel_handle="TEDx", manually_created=True)

CLI Usage

ytfetcher from_channel -c TEDx -m 50 --manually-created

Fixed Transcript Cleaner Method

Transcript cleaner method wasn't removing >> signs correctly from transcripts. We fixed that.

Upgrade

Don't forget to upgrade ytfetcher

pip install --upgrade ytfetcher

Contribute

Found a bug or have an idea? Open an issue

v1.3.1

18 Oct 11:08

Choose a tag to compare

What's New

Fetch From Playlist ID

You can now fetch bulk videos from a playlist id using from_playlist_id method in both CLI and Python API:

Note: YTFetcher fetches up to 50 videos by default.
To fetch all videos from a playlist with more than 50 videos, set max_results to the total number of videos in that playlist.

We are planning to find a better solution for this in the future.

Using CLI

ytfetcher from_playlist_id -p playlistid123 -m 20

Using Python API

fetcher = YTFetcher.from_playlist_id(playlist_id="playlistid123")

Better Exporter

  • Exporter now exports all available data as default.
  • Added --metadata argument for CLI to choose desired metadata.
  • You can also exclude timings from transcripts using --no-timing argument in CLI.

This update improves exporter especially in CLI side. Here couple of examples how you can use these new arguments:

Filtering Metadata

ytfetcher from_playlist_id -p playlistid123 --metadata title description

Excluding Timings From Transcripts

ytfetcher from_channel -c TheOffice --no-timings

Accepting Full URL

ytfetcher now can accept full urls for channel_handle and playlist_id parameters.

You can now input full url's like:

Full URL is not supported for from_video_ids method right now so you still have to provide exact video id's for it.

Trim @ Character

İf you accidently write channel handle with @ included, ytfetcher now fixes that for you. So now you can also write:

ytfetcher from_channel -c @TheOffice -m 20

Upgrade

Don't forget to upgrade ytfetcher

pip install --upgrade ytfetcher

Contribute

Found a bug or have an idea? Open an issue

v1.2

11 Oct 10:53

Choose a tag to compare

What’s New

The latest update focuses on improving your CLI experience, language handling, and developer feedback through better logging and output visibility. Here’s what’s new:

Progressive CLI outputs

  • Added progressive print statements for CLI for better feedback.

You can now see progress information directly in the CLI, making the process more interactive and transparent. (Closes #1)

[INFO] Fetching transcripts from channel: TheOffice
[INFO] Fetching transcripts:   25%|
[DONE] Fetched all transcripts.
[DONE] Data exported successfully as json

Choose Your Desired Transcript Language

  • You can now choose your transcript's language.

For example if you want to fetch transcripts turkish as first option with CLI:

ytfetcher from_channel -c caseoh_ -m 20 --languages tr en

For Python API:

fetcher = YTFetcher.from_channel(channel_handle='caseoh_', languages=['tr', 'en'])

ytfetcher first try to fetch turkish language if available, otherwise falls back to english.

Better Logging

  • Improved logging across critical modules for easier debugging and better insight into internal operations.

Enable basic logging for the Python API with:

import logging
from ytfetcher.config import enable_default_config

enable_default_config(level=logging.DEBUG) # or initialize empty for INFO

Upgrade

Don't forget to upgrade ytfetcher

pip install --upgrade ytfetcher

Contribute

Found a bug or have an idea? Open an issue

v1.1

03 Oct 08:36

Choose a tag to compare

This release brings important usability improvements, transcript cleaning, and the launch of our official docs site.

🚀 What’s New

  • Progress Bar Support
    Added progress bar to from_video_ids method for YoutubeDL, making it easier to track bulk downloads.

  • Console Output Option
    Added print argument to allow users to print fetched data directly to the console.

  • Cleaner Transcripts
    TranscriptFetcher now automatically removes filler labels like [Music], [Applause], etc.

  • Official Documentation Website
    📚 Explore the new docs

🔧 Upgrade

pip install --upgrade ytfetcher

❤️ Contribute

Found a bug or have an idea? Open an issue
or try a good first issue