A lightweight, keyboard-centric terminal player for streaming YouTube music.
Project description
๐ต MyTunes Pro (Korean)
ํ๋์ ์ธ CLI ์ ํ๋ธ ๋ฎค์ง ํ๋ ์ด์ด (v1.7.1)
ํฐ๋ฏธ๋ ํ๊ฒฝ์์ YouTube ์์
์ ๊ฒ์ํ์ฌ ๋ฃ๋ ๊ฐ๋ณ๊ณ ๋น ๋ฅธ ํค๋ณด๋ ์ค์ฌ์ ํ๋ ์ด์ด์
๋๋ค.
ํ๊ตญ์ด ์
๋ ฅ ํ๊ฒฝ์์๋ **์ซ์ ํค(1~5)**๋ฅผ ํตํด ์ง์ฐ ์๋ ์พ์ ํ ์กฐ์์ด ๊ฐ๋ฅํฉ๋๋ค.
๐ก ๊ฐ๋ฐ ๋ฐฐ๊ฒฝ
์ด ํ๋ก๊ทธ๋จ์ ํ๋ฃจ ์ข ์ผ ํฐ๋ฏธ๋์ ๋ณด๋ ๊ฐ๋ฐ์๋ค์ด ์์ ํ๋ฆ์ ๋์ง ์๊ณ ํธํ๊ฒ ์์ ์ ๋ฃ๊ธฐ ์ํด ๋ง๋ค์ด์ก์ต๋๋ค.
ํนํ **๋ชจ๋ํฐ๊ฐ ์๋(Headless) ๋ฏธ๋ PC (Debian Server)**๋ฅผ ๊ฑฐ์ค์ด๋ ์ฑ ์์ '๋ฎค์ง ์คํ ์ด์ '์ผ๋ก ํ์ฉํ๊ณ ์ ํ๋ ๊ฐ์ธ์ ์ธ ํ์์์ ์์๋์์ต๋๋ค.
๋ณต์กํ ์ค์ ์์ด, ํฐ๋ฏธ๋ ํ๋๋ง ์์ผ๋ฉด ์ด๋์๋ ๋น์ ๋ง์ ์ค๋์ค ํ๋ ์ด์ด๊ฐ ๋ฉ๋๋ค.
๐ธ Screenshots
โจ ์ฃผ์ ๊ธฐ๋ฅ
- ๊ฐ๋ ฅํ ๊ฒ์:
yt-dlp์์ง์ ์ฌ์ฉํ์ฌ ๊ด๊ณ ์๋ ๊ณ ์์ง ์ค๋์ค ์คํธ๋ฆฌ๋ฐ. - ์พ์ ํ ์กฐ์:
curses๊ธฐ๋ฐ TUI๋ก ๋น ๋ฅด๊ณ ์ง๊ด์ ์ธ ์ธํฐํ์ด์ค. - ์ฐ์ ์ฌ์: ํ ๊ณก์ด ๋๋๋ฉด ๋ฆฌ์คํธ์ ๋ค์ ๊ณก์ ์๋์ผ๋ก ์ฌ์ํฉ๋๋ค.
- ์ด์ด๋ฃ๊ธฐ: ์ค๋จ๋ ์์น๋ถํฐ ์ด์ด์ ์ฌ์ํ ์ง ์ ํํ ์ ์์ต๋๋ค.
- ํ๊ธ ์ต์ ํ: ํ๊ธ ์์ ์กฐํฉ ๋๊ธฐ ์๊ฐ ์์ด ์ฆ์ ๋ฐ์ํ๋ ์ซ์ ๋จ์ถํค ์ง์.
- ์ค๋งํธ ๊ธฐ๋ฅ: ์ฆ๊ฒจ์ฐพ๊ธฐ, ์ฌ์ ๊ธฐ๋ก(์ต๋ 100๊ณก), ์๋ ์์ ํํฐ๋ง ๊ฒ์.
- ๋ผ์ด๋ธ (F8): ์ ์ธ๊ณ ์ ์ ๋ค๊ณผ ํจ๊ป ๋ฃ๋ ์ค์๊ฐ ์์ ๋์๋ณด๋ (์ ์ฉ ํ์ ).
- ๊ณต์ (F9): ๋ด๊ฐ ๋ฃ๋ ๊ณก์ ๋ผ์ด๋ธ ์คํ ์ด์ ์ ์ฆ์ ์ก์ถํ์ฌ ํจ๊ป ์ฆ๊น๋๋ค.
- ๋น์ฃผ์ผ: ํ๋์ ์ธ ์ฌ๋ณผ ์์ด์ฝ(โ, โ , โท)๊ณผ ๊น๋ํ ๋์์ธ.
๐ป ๊ตฌ๋ ํ๊ฒฝ ์๋ด
MyTunes Pro๋ ํฐ๋ฏธ๋(CLI) ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์
๋๋ค. ๊ฐ ์ด์์ฒด์ ์์ ๊ณ ์์ง ์ค๋์ค๋ฅผ ์ฌ์ํ๊ธฐ ์ํด **mpv**๋ผ๋ ์์ง์ ์ฌ์ฉํฉ๋๋ค.
- macOS: ํฐ๋ฏธ๋(iTerm2, Warp ์ถ์ฒ) ์ง์. Python 3.9 ์ด์ ํ์.
- Linux: ์ฐ๋ถํฌ, ๋ฐ๋น์ ๋ฑ ๋ชจ๋ ๋ฆฌ๋ ์ค ๋ฐฐํฌํ ์ง์.
- Windows: WSL(Windows Subsystem for Linux) ํ๊ฒฝ์ด ํ์ํฉ๋๋ค. (์๋ ๊ฐ์ด๋๋ฅผ ์ฐธ๊ณ ํ์ธ์.)
๐ ๋น ๋ฅธ ์ค์น (Quick Install)
์ต์ macOS/Linux ์์คํ
(PEP 668)์์๋ pipx ์ฌ์ฉ์ ๊ฐ๋ ฅํ ๊ถ์ฅํฉ๋๋ค.
1. ์ถ์ฒ ๋ฐฉ์ (pipx)
์๋์ผ๋ก ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ ๋ง๋ค๊ณ ๋ช ๋ น์ด๋ฅผ ๋ฑ๋กํด์ค๋๋ค.
# pipx install ์ดํ ๋ช
๋ น์ด ๋ฑ๋ก์ ์ํด ensurepath ์คํ ์์ ํ์ธ!
pipx install mytunes-pro
pipx ensurepath
source ~/.zshrc # ๋๋ source ~/.bashrc (ํ์ฌ ํฐ๋ฏธ๋์ ์ฆ์ ์ ์ฉ)
2. ์ผ๋ฐ pip ๋ฐฉ์
๋ง์ฝ externally-managed-environment ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ฉด ์๋ ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ์ธ์:
pip install mytunes-pro --break-system-packages
์ค์น ํ ํฐ๋ฏธ๋ ์ด๋์๋ **mp**๋ฅผ ์
๋ ฅํ๋ฉด ์คํ๋ฉ๋๋ค!
๐ ์ต์ ๋ฒ์ ์ ๋ฐ์ดํธ (Update)
์ด๋ฏธ ์ค์น๋์ด ์๋ค๋ฉด ์๋ ๋ช ๋ น์ด๋ก ๊ฐ๋จํ ์ต์ ๊ธฐ๋ฅ์ ๋ฐ์ํ์ธ์:
pipx upgrade mytunes-pro
๐ ํ๊ฒฝ๋ณ ์๊ตฌ์ฌํญ (Prerequisites)
์คํ ์ ๊ฐ ์ด์์ฒด์ ์ ๋ง๋ ํ์ ๋๊ตฌ๋ค์ ์ค์นํด ์ฃผ์ธ์.
macOS (Homebrew ์ฌ์ฉ)
brew install mpv python3 pipx
Linux (Ubuntu/Debian)
sudo apt update
sudo apt install mpv python3 python3-pip pipx python3-venv -y
Windows (์ด๋ณด์์ฉ WSL ๊ฐ์ด๋)
Windows ํ๊ฒฝ์์ ํ๊ธ ๊ฒ์์ด ์ ๋๊ฑฐ๋ ์ค์น๊ฐ ์ด๋ ค์ด ๋ถ๋ค์ ์ํ ๊ฐ์ด๋์ ๋๋ค.
โ WSL์ด๋?
์๋์ฐ ์์์ ๋ฆฌ๋ ์ค๋ฅผ ์ฑ์ฒ๋ผ ์ธ ์ ์๊ฒ ํด์ค๋๋ค. MyTunes๋ ์ด ํ๊ฒฝ์์ ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค.
-
WSL ์ค์นํ๊ธฐ:
์์๋ฒํผ ์ฐํด๋ฆญ ->ํฐ๋ฏธ๋(๊ด๋ฆฌ์)์คํ.- ์๋ ๋ช
๋ น์ด ์
๋ ฅ ํ ์ฌ๋ถํ
:
wsl --install -d Debian
-
ํ์ ๋๊ตฌ ์ค์น:
sudo apt update && sudo apt install mpv python3-pip pipx -y
-
MyTunes ์ค์น:
pipx install mytunes-pro pipx ensurepath source ~/.bashrc # ์ค์ ์ฆ์ ๋ฐ์
๐งโ๐ป ๊ฐ๋ฐ์์ฉ ์๋ ์ค์น (Manual Installation)
์ง์ ์์คํฌ๋๋ฅผ ์์ ํ๊ฑฐ๋ ๊ฐ๋ฐ ๋ฒ์ ์ ์ฌ์ฉํ๋ ค๋ฉด ์๋ ๊ณผ์ ์ ๋ฐ๋ฅด์ธ์.
-
์ ์ฅ์ ํด๋ก :
git clone https://github.com/postgresql-co-kr/mytunes.git cd mytunes
-
๊ฐ์ํ๊ฒฝ ์ค์ :
python3 -m venv venv source venv/bin/activate # macOS/Linux pip install -r requirements.txt
-
์คํ:
python3 mytune.py
โจ๏ธ ์กฐ์ ๋ฐฉ๋ฒ (Controls)
MyTunes Pro๋ ํค๋ณด๋๋ง์ผ๋ก ๋ชจ๋ ๊ธฐ๋ฅ์ ์ ์ดํฉ๋๋ค.
ํ๊ธ ์
๋ ฅ ์ํ์์๋ ๋๊น ์๋ ์กฐ์์ ์ํด ์ซ์ ๋จ์ถํค ์ฌ์ฉ์ ๊ถ์ฅํฉ๋๋ค.
โก๏ธ ์ฆ์ ๋ฐ์ ๋จ์ถํค (์ซ์ํค)
ํ์ ์ ํ ์์ด ์ธ์ ๋ ๋๋ฅด๋ฉด ์ฆ์ ์คํ๋ฉ๋๋ค.
| ํค | ๊ธฐ๋ฅ | ์ค๋ช |
|---|---|---|
1 |
๊ฒ์ (Search) | ์์
๊ฒ์์ฐฝ ์ด๊ธฐ (๋จ์ถํค S์ ๋์ผ) |
2 |
์ฆ๊ฒจ์ฐพ๊ธฐ (Fav) | ์ ์ฅ๋ ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ชฉ๋ก ๋ณด๊ธฐ (๋จ์ถํค F์ ๋์ผ) |
3 |
๊ธฐ๋ก (History) | ์ต๊ทผ ์ฌ์ํ 100๊ณก ๋ณด๊ธฐ (๋จ์ถํค R์ ๋์ผ) |
4 |
๋ฉ์ธ (Main) | ๋ฉ์ธ ํ๋ฉด์ผ๋ก ๋์๊ฐ๊ธฐ (๋จ์ถํค M์ ๋์ผ) |
5 |
์ถ๊ฐ/์ญ์ | ์ ํํ ๊ณก ์ฆ๊ฒจ์ฐพ๊ธฐ ํ ๊ธ (๋จ์ถํค A์ ๋์ผ) |
+ |
๋ณผ๋ฅจ UP | ๋ณผ๋ฅจ +5% (๋จ์ถํค =์ ๋์ผ) |
- |
๋ณผ๋ฅจ DOWN | ๋ณผ๋ฅจ -5% (๋จ์ถํค _์ ๋์ผ) |
F7 |
์ ํ๋ธ ์ด๊ธฐ | ํ์ฌ ๊ณก์ ๋ธ๋ผ์ฐ์ ์์ ๋ณด๊ธฐ |
F8 |
๋ผ์ด๋ธ (Live) | ์ค์๊ฐ ์์ ๋์๋ณด๋ ์ด๊ธฐ (์ ์ฉ ํ์ ์ฐฝ) |
F9 |
๊ณต์ (Share) | ํ์ฌ ๊ณก์ ๋ผ์ด๋ธ ์คํ ์ด์ ์ ์ฆ์ ๊ณต์ |
6 |
๋ค๋ก๊ฐ๊ธฐ | ์ด์ ํ๋ฉด์ผ๋ก ์ด๋ (๋จ์ถํค Q, H์ ๋์ผ) |
ESC |
๋ฐฐ๊ฒฝ์ฌ์ | ์์ ๋์ง ์๊ณ ๋๊ฐ๊ธฐ (๋ฐฑ๊ทธ๋ผ์ด๋ ์ฌ์) |
๐งญ ๊ธฐ๋ณธ ํ์
| ํค | ๋์ |
|---|---|
โ / โ / k / j |
๋ฆฌ์คํธ ์/์๋ ์ด๋ (Vim ํค ์ง์) |
Enter / l |
์ ํ / ์ฌ์ (ํ๊ธ ใ
ฃ๋ ์ง์) |
Space |
์ฌ์ / ์ผ์์ ์ง (Play/Pause) |
- / + |
๋ณผ๋ฅจ ์กฐ์ (- / +) |
, / . |
10์ด ๋ค๋ก / ์์ผ๋ก ๊ฐ๊ธฐ |
< / > |
30์ด ๋ค๋ก / ์์ผ๋ก ๊ฐ๊ธฐ (Shift) |
Backspace / h / q |
๋ค๋ก ๊ฐ๊ธฐ / ๊ฒ์์ด ์ง์ฐ๊ธฐ |
/ |
๊ฒ์ (Vim Style) |
๐ ๋ฐ์ดํฐ ์ ์ฅ
- ์ฆ๊ฒจ์ฐพ๊ธฐ์ ์ฌ์ ๊ธฐ๋ก์ ํ ๋๋ ํ ๋ฆฌ์
~/.pymusic_data.jsonํ์ผ์ ์๊ตฌ ์ ์ฅ๋ฉ๋๋ค. - ํ๋ก๊ทธ๋จ ์ข ๋ฃ ํ ๋ค์ ์คํํด๋ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋ฉ๋๋ค.
๐ต MyTunes Pro (English)
Modern CLI YouTube Music Player (v1.7.1)
A lightweight, keyboard-centric terminal player for streaming YouTube music.
๐ป Environment Support
MyTunes Pro is a Terminal-native application.
- macOS: Native Terminal support. Python 3.9+ required.
- Linux: Supports all distributions (Ubuntu, Debian, etc.).
- Windows: Requires WSL (Windows Subsystem for Linux).
๐ Quick Start
On modern macOS/Linux systems (PEP 668), using pipx is highly recommended.
1. Recommended (pipx)
pipx install mytunes-pro
pipx ensurepath
source ~/.zshrc # or source ~/.bashrc to apply changes immediately
2. Standard pip
pip install mytunes-pro --break-system-packages
Run simply by typing mp in your terminal!
๐ Prerequisites
macOS (Homebrew)
brew install mpv python3 pipx
Linux (Ubuntu/Debian)
sudo apt update
sudo apt install mpv python3 python3-pip pipx python3-venv -y
Windows (Beginner's WSL Guide)
-
Install WSL:
wsl --install -d Debian
Restart your computer after installation.
-
Install Core Tools:
sudo apt update && sudo apt install mpv python3-pip pipx -y
-
Install MyTunes:
pipx install mytunes-pro pipx ensurepath source ~/.bashrc
โจ๏ธ English Controls
| Key | Function | Description |
|---|---|---|
1 |
Search | Open search bar (Same as S) |
2 |
Favs | View favorites list (Same as F) |
3 |
Hist | View history (Same as R) |
4 |
Main | Go to Main Menu (Same as M) |
5 |
Add/Del | Toggle Favorite (Same as A) |
+ |
Vol Up | Volume +5% (Same as =) |
- |
Vol Down | Volume -5% (Same as _) |
6 |
Back | Go back (Same as Q, H) |
ESC |
Bg Play | Exit app but keep music playing |
๐ Changelog
v1.6.1 (Latest)
- Performance & Logic Optimization: Standardized browser launch logic for Live Station (F8) across Mac, Windows, and Linux.
- UI Polish: Silenced browser launch warnings in the terminal and added professional UI flags (disable translation/bubble) for a cleaner experience.
- Improved Popup Behavior: Optimized web interface to reuse the same window for Live Station, matching CLI application behavior.
- Global Sync: Version 1.7.0 synchronization across all platforms.
v1.6.0
- Global Version Synchronization: Synchronized version 1.6.0 across CLI, README, and Web interface.
- Dependency Fix: Ensured
pusherdependency is correctly included for real-time features.
v1.5.6
- Refined Search History Display: Improved the search preview logic to use a temporary 'search' view state, providing a smoother experience when opening and canceling search.
- Bug Fix: Resolved an issue where the 'Search Results History' was not displaying correctly in the background.
v1.5.5
- Search Result History: Automatically saves up to 200 search results.
- Enhanced Search UX: Previously searched items are displayed in the background automatically when opening search.
- Deduplication: Automatically removes duplicate search results to keep history clean.
v1.5.4
- Documentation Refinement: Clarified installation steps and removed redundant WSL locale guide.
- Code Cleanup: Reverted unnecessary locale settings in source code.
v1.5.3
- Locale Optimization: Removed complicated locale generation steps for Windows/WSL users. Now relies on standard system locale or simple
C.UTF-8fallback.
v1.5.2
- Documentation: Major README overhaul for beginner friendliness. Added dedicated Windows/WSL "Zero-to-Hero" guide.
v1.5.0
- Release: Milestone v1.5.0 release with polished documentation and stable features.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mytunes_pro-1.7.1.tar.gz.
File metadata
- Download URL: mytunes_pro-1.7.1.tar.gz
- Upload date:
- Size: 28.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3c80d105a87a5edfa298340a42855eb84408ba00d7f3a020c95ab5f6ea0a20a
|
|
| MD5 |
35edcf2943b825b52abbd45805728185
|
|
| BLAKE2b-256 |
3540680403b176f58ae650a02342e42ef4fbe1e3474dcc9c15c12554449f8e82
|
Provenance
The following attestation bundles were made for mytunes_pro-1.7.1.tar.gz:
Publisher:
pypi.yml on postgresql-co-kr/mytunes
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mytunes_pro-1.7.1.tar.gz -
Subject digest:
b3c80d105a87a5edfa298340a42855eb84408ba00d7f3a020c95ab5f6ea0a20a - Sigstore transparency entry: 854927703
- Sigstore integration time:
-
Permalink:
postgresql-co-kr/mytunes@d318a83a73db994539f2dc220578a14a461616bf -
Branch / Tag:
refs/tags/v1.7.1 - Owner: https://github.com/postgresql-co-kr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@d318a83a73db994539f2dc220578a14a461616bf -
Trigger Event:
push
-
Statement type:
File details
Details for the file mytunes_pro-1.7.1-py3-none-any.whl.
File metadata
- Download URL: mytunes_pro-1.7.1-py3-none-any.whl
- Upload date:
- Size: 23.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38d6f7d4aef315513af4692feda02e8493d727fb64b132335c8295433f4eb876
|
|
| MD5 |
4902b6b1946723157ec4d5bb6fc2ee0c
|
|
| BLAKE2b-256 |
56e30f07d2c538694907ddcd9ed0336cd540e693e7a662c010076ceeb0be1582
|
Provenance
The following attestation bundles were made for mytunes_pro-1.7.1-py3-none-any.whl:
Publisher:
pypi.yml on postgresql-co-kr/mytunes
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mytunes_pro-1.7.1-py3-none-any.whl -
Subject digest:
38d6f7d4aef315513af4692feda02e8493d727fb64b132335c8295433f4eb876 - Sigstore transparency entry: 854927706
- Sigstore integration time:
-
Permalink:
postgresql-co-kr/mytunes@d318a83a73db994539f2dc220578a14a461616bf -
Branch / Tag:
refs/tags/v1.7.1 - Owner: https://github.com/postgresql-co-kr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@d318a83a73db994539f2dc220578a14a461616bf -
Trigger Event:
push
-
Statement type: