Repository navigation
v2.0.0 - Fokus YouTube MP4/MP3
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--helpare fully translatable. English is the new default, remembered afterwards. Also viaLUMENFETCH_LANGor theui_langconfig value. - Bilingual documentation:
README.mdandCONTRIBUTING.mdare in English, with Indonesian versions inREADME.id.mdandCONTRIBUTING.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:
instaloaderandbrowser-cookie3are 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.pymodule: a pure dictionary of display text (en/id); all user-facing text goes throught("key"). - New
errors.pytaxonomy: 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_cffiis 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 lumenfetchThen:
lumenfetch "https://youtube.com/watch?v=..." -t video -q 720p -yBahasa 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--helpsepenuhnya bisa diterjemahkan. English menjadi default baru, diingat setelahnya. Juga viaLUMENFETCH_LANGatau nilaiui_langdi config. - Dokumentasi dua bahasa:
README.mddanCONTRIBUTING.mdberbahasa Inggris, dengan versi Indonesia diREADME.id.mddanCONTRIBUTING.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:
instaloaderdanbrowser-cookie3hilang - 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 lewatt("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_cffisekarang 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 lumenfetchLalu:
lumenfetch "https://youtube.com/watch?v=..." -t video -q 720p -y