Skip to content

v2.0.0 - Fokus YouTube MP4/MP3

Choose a tag to compare

@nekonaru nekonaru released this 13 Oct 03:53
· 11 commits to main since this release

English

v2.0.0 - YouTube-only MP4/MP3 pivot

Lumenfetch is now a focused YouTube downloader: MP4 video and MP3 audio, nothing else. The multi-platform code paths (Instagram/TikTok/Facebook galleries, image formats) and their heavy dependencies (instaloader, browser-cookie3) are removed.

✨ New features

  • MP4 video: quality Best/1080p/720p/480p/360p/Worst with auto-embedded thumbnail.
  • MP3 audio: bitrate Best/320kbps/192kbps/128kbps.
  • English and Indonesian CLI (--ui-lang en|id): menus, prompts, tables, error messages, and --help are fully translatable. English is the new default, remembered afterwards. Also via LUMENFETCH_LANG or the ui_lang config value.
  • Bilingual documentation: README.md and CONTRIBUTING.md are in English, with Indonesian versions in README.id.md and CONTRIBUTING.id.md.

⚠️ Changes to be aware of

  • Only YouTube links are accepted (youtube.com, youtu.be, music.youtube.com). Other platforms are rejected with a clear message instead of a misleading error.
  • Removed dependencies: instaloader and browser-cookie3 are gone - install is lighter. Browser/file cookies for YouTube still work.
  • Output filenames follow %(platform)s_%(title)s_%(year)s, e.g. YouTube_Lofi-Hip-Hop-Radio_2026.mp4.

🧱 Internal improvements

  • New i18n.py module: a pure dictionary of display text (en/id); all user-facing text goes through t("key").
  • New errors.py taxonomy: every yt-dlp failure maps to a specific kind (bot-check, cookies, rate-limit, removed...) with an actionable message, including automatic retry without cookies when the cookie database is locked.
  • curl_cffi is now a required dependency so YouTube bot-checks pass.
  • User config moved to the OS config dir (%APPDATA% / ~/.config), with one-time migration from the old location.

🧪 Testing

200 tests, all passing on Python 3.9 to 3.12 (CI runs pytest + ruff + an 80% coverage gate).

📦 Install

pip install lumenfetch

Then:

lumenfetch "https://youtube.com/watch?v=..." -t video -q 720p -y



Bahasa Indonesia

v2.0.0 - Pivot ke YouTube-only MP4/MP3

Lumenfetch sekarang downloader YouTube yang fokus: video MP4 dan audio MP3, tidak yang lain. Jalur kode multi-platform (galeri Instagram/TikTok/Facebook, format gambar) beserta dependency beratnya (instaloader, browser-cookie3) dihapus.

✨ Fitur baru

  • Video MP4: quality Best/1080p/720p/480p/360p/Worst dengan thumbnail ter-embed otomatis.
  • Audio MP3: bitrate Best/320kbps/192kbps/128kbps.
  • CLI English dan Indonesia (--ui-lang en|id): menu, prompt, tabel, pesan error, dan --help sepenuhnya bisa diterjemahkan. English menjadi default baru, diingat setelahnya. Juga via LUMENFETCH_LANG atau nilai ui_lang di config.
  • Dokumentasi dua bahasa: README.md dan CONTRIBUTING.md berbahasa Inggris, dengan versi Indonesia di README.id.md dan CONTRIBUTING.id.md.

⚠️ Perubahan yang perlu diperhatikan

  • Cuma link YouTube yang diterima (youtube.com, youtu.be, music.youtube.com). Platform lain ditolak dengan pesan yang jelas, bukan error menyesatkan.
  • Dependency yang dihapus: instaloader dan browser-cookie3 hilang - install jadi lebih ringan. Cookies browser/file untuk YouTube tetap jalan.
  • Nama file output mengikuti %(platform)s_%(title)s_%(year)s, mis. YouTube_Lofi-Hip-Hop-Radio_2026.mp4.

🧱 Peningkatan internal

  • Modul baru i18n.py: kamus teks tampilan (en/id); semua teks user lewat t("key").
  • Taxonomy baru errors.py: setiap kegagalan yt-dlp dipetakan ke kind spesifik (bot-check, cookies, rate-limit, removed...) dengan pesan yang actionable, termasuk retry otomatis tanpa cookies kalau database cookies terkunci.
  • curl_cffi sekarang dependency wajib biar lolos bot-check YouTube.
  • Config user pindah ke folder config OS (%APPDATA% / ~/.config), dengan migrasi sekali dari lokasi lama.

🧪 Testing

200 test, semua lolos di Python 3.9 sampai 3.12 (CI menjalankan pytest + ruff + coverage gate 80%).

📦 Install

pip install lumenfetch

Lalu:

lumenfetch "https://youtube.com/watch?v=..." -t video -q 720p -y