wrkmon 1.0.0__tar.gz → 1.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {wrkmon-1.0.0/wrkmon.egg-info → wrkmon-1.2.0}/PKG-INFO +170 -193
- {wrkmon-1.0.0 → wrkmon-1.2.0}/README.md +37 -64
- {wrkmon-1.0.0 → wrkmon-1.2.0}/pyproject.toml +7 -3
- {wrkmon-1.0.0 → wrkmon-1.2.0}/setup.cfg +4 -4
- {wrkmon-1.0.0 → wrkmon-1.2.0}/tests/test_core.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/tests/test_utils.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/__init__.py +1 -1
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/__main__.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/app.py +323 -5
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/cli.py +100 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/core/__init__.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/core/cache.py +0 -0
- wrkmon-1.2.0/wrkmon/core/media_keys.py +377 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/core/player.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/core/queue.py +55 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/core/youtube.py +102 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/data/__init__.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/data/database.py +120 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/data/migrations.py +26 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/data/models.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/__init__.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/components.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/screens/__init__.py +0 -0
- wrkmon-1.2.0/wrkmon/ui/screens/help.py +80 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/screens/history.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/screens/player.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/screens/playlist.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/screens/search.py +0 -0
- wrkmon-1.2.0/wrkmon/ui/theme.py +583 -0
- wrkmon-1.2.0/wrkmon/ui/views/search.py +414 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/widgets/header.py +31 -1
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/widgets/player_bar.py +52 -5
- wrkmon-1.2.0/wrkmon/ui/widgets/thumbnail.py +230 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/utils/__init__.py +0 -0
- wrkmon-1.2.0/wrkmon/utils/ascii_art.py +408 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/utils/config.py +85 -4
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/utils/stealth.py +0 -0
- wrkmon-1.2.0/wrkmon/utils/updater.py +311 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0/wrkmon.egg-info}/PKG-INFO +170 -193
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon.egg-info/SOURCES.txt +7 -2
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon.egg-info/dependency_links.txt +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon.egg-info/entry_points.txt +0 -0
- wrkmon-1.2.0/wrkmon.egg-info/requires.txt +19 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon.egg-info/top_level.txt +0 -0
- wrkmon-1.0.0/wrkmon/ui/theme.py +0 -326
- wrkmon-1.0.0/wrkmon/ui/views/search.py +0 -150
- wrkmon-1.0.0/wrkmon.egg-info/requires.txt +0 -11
- /wrkmon-1.0.0/LICENSE.txt → /wrkmon-1.2.0/LICENSE +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/messages.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/views/__init__.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/views/history.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/views/playlists.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/views/queue.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/widgets/__init__.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/ui/widgets/result_item.py +0 -0
- {wrkmon-1.0.0 → wrkmon-1.2.0}/wrkmon/utils/mpv_installer.py +0 -0
|
@@ -1,193 +1,170 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: wrkmon
|
|
3
|
-
Version: 1.
|
|
4
|
-
Summary: Stealth TUI YouTube audio player - stream music while looking productive
|
|
5
|
-
Author-email: Umar Khan Yousafzai <
|
|
6
|
-
License-Expression: MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtube
|
|
8
|
-
Project-URL: Documentation, https://github.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtube#readme
|
|
9
|
-
Project-URL: Repository, https://github.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtube
|
|
10
|
-
Project-URL: Issues, https://github.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtube/issues
|
|
11
|
-
Keywords: youtube,audio,player,tui,music,stealth,productivity,terminal
|
|
12
|
-
Classifier: Development Status :: 4 - Beta
|
|
13
|
-
Classifier: Environment :: Console
|
|
14
|
-
Classifier: Intended Audience :: Developers
|
|
15
|
-
Classifier: Intended Audience :: End Users/Desktop
|
|
16
|
-
Classifier: Operating System :: OS Independent
|
|
17
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
18
|
-
Classifier: Operating System :: POSIX :: Linux
|
|
19
|
-
Classifier: Operating System :: MacOS
|
|
20
|
-
Classifier: Programming Language :: Python :: 3
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
-
Classifier: Topic :: Multimedia :: Sound/Audio :: Players
|
|
25
|
-
Requires-Python: >=3.10
|
|
26
|
-
Description-Content-Type: text/markdown
|
|
27
|
-
License-File: LICENSE
|
|
28
|
-
Requires-Dist: textual>=0.50.0
|
|
29
|
-
Requires-Dist: typer>=0.9.0
|
|
30
|
-
Requires-Dist: yt-dlp>=
|
|
31
|
-
Requires-Dist: rich>=13.0.0
|
|
32
|
-
Requires-Dist:
|
|
33
|
-
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
|
122
|
-
|
|
123
|
-
|
|
|
124
|
-
| `
|
|
125
|
-
| `
|
|
126
|
-
| `
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
│
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
##
|
|
161
|
-
|
|
162
|
-
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
# Install in development mode
|
|
173
|
-
pip install -e ".[dev]"
|
|
174
|
-
|
|
175
|
-
# Run tests
|
|
176
|
-
pytest
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
## License
|
|
180
|
-
|
|
181
|
-
MIT License - see [LICENSE](LICENSE) for details.
|
|
182
|
-
|
|
183
|
-
## Contributing
|
|
184
|
-
|
|
185
|
-
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
186
|
-
|
|
187
|
-
## Author
|
|
188
|
-
|
|
189
|
-
**Umar Khan Yousafzai**
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
*Made with ❤️ for productive procrastinators everywhere*
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: wrkmon
|
|
3
|
+
Version: 1.2.0
|
|
4
|
+
Summary: Stealth TUI YouTube audio player - stream music while looking productive
|
|
5
|
+
Author-email: Umar Khan Yousafzai <umerfarooqkhan325@gmail.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtube
|
|
8
|
+
Project-URL: Documentation, https://github.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtube#readme
|
|
9
|
+
Project-URL: Repository, https://github.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtube
|
|
10
|
+
Project-URL: Issues, https://github.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtube/issues
|
|
11
|
+
Keywords: youtube,audio,player,tui,music,stealth,productivity,terminal
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
18
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
19
|
+
Classifier: Operating System :: MacOS
|
|
20
|
+
Classifier: Programming Language :: Python :: 3
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Topic :: Multimedia :: Sound/Audio :: Players
|
|
25
|
+
Requires-Python: >=3.10
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
License-File: LICENSE
|
|
28
|
+
Requires-Dist: textual>=0.50.0
|
|
29
|
+
Requires-Dist: typer>=0.9.0
|
|
30
|
+
Requires-Dist: yt-dlp>=2025.1.0
|
|
31
|
+
Requires-Dist: rich>=13.0.0
|
|
32
|
+
Requires-Dist: packaging>=21.0
|
|
33
|
+
Requires-Dist: Pillow>=9.0.0
|
|
34
|
+
Requires-Dist: pywin32>=306; sys_platform == "win32"
|
|
35
|
+
Requires-Dist: dbus-next>=0.2.3; sys_platform == "linux"
|
|
36
|
+
Requires-Dist: pynput>=1.7.6; sys_platform == "win32" or sys_platform == "darwin"
|
|
37
|
+
Provides-Extra: dev
|
|
38
|
+
Requires-Dist: pytest>=8.0.0; extra == "dev"
|
|
39
|
+
Requires-Dist: ruff>=0.3.0; extra == "dev"
|
|
40
|
+
Dynamic: license-file
|
|
41
|
+
|
|
42
|
+
# wrkmon
|
|
43
|
+
|
|
44
|
+
**Terminal-based YouTube Music Player** - Listen to music right from your terminal!
|
|
45
|
+
|
|
46
|
+
A beautiful TUI (Terminal User Interface) for streaming YouTube audio. No browser needed, just your terminal.
|
|
47
|
+
|
|
48
|
+

|
|
49
|
+

|
|
50
|
+

|
|
51
|
+

|
|
52
|
+
|
|
53
|
+
## Features
|
|
54
|
+
|
|
55
|
+
- Search and stream YouTube audio
|
|
56
|
+
- Beautiful terminal interface
|
|
57
|
+
- Queue management with shuffle/repeat
|
|
58
|
+
- Play history and playlists
|
|
59
|
+
- Keyboard-driven controls
|
|
60
|
+
- Cross-platform (Windows, macOS, Linux)
|
|
61
|
+
|
|
62
|
+
## Installation
|
|
63
|
+
|
|
64
|
+
### pip (Recommended)
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pip install wrkmon
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
> **Note:** You also need mpv installed:
|
|
71
|
+
> - Windows: `winget install mpv`
|
|
72
|
+
> - macOS: `brew install mpv`
|
|
73
|
+
> - Linux: `sudo apt install mpv`
|
|
74
|
+
|
|
75
|
+
### Quick Install Scripts
|
|
76
|
+
|
|
77
|
+
**Windows (PowerShell):**
|
|
78
|
+
```powershell
|
|
79
|
+
irm https://raw.githubusercontent.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtube/main/install.ps1 | iex
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**macOS / Linux:**
|
|
83
|
+
```bash
|
|
84
|
+
curl -sSL https://raw.githubusercontent.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtube/main/install.sh | bash
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Package Managers
|
|
88
|
+
|
|
89
|
+
```powershell
|
|
90
|
+
# Windows (Chocolatey)
|
|
91
|
+
choco install wrkmon
|
|
92
|
+
|
|
93
|
+
# macOS (Homebrew) - coming soon
|
|
94
|
+
brew install wrkmon
|
|
95
|
+
|
|
96
|
+
# Linux (Snap) - coming soon
|
|
97
|
+
sudo snap install wrkmon
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Usage
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
wrkmon # Launch the TUI
|
|
104
|
+
wrkmon search "q" # Quick search
|
|
105
|
+
wrkmon play <id> # Play a video
|
|
106
|
+
wrkmon history # View history
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Keyboard Controls
|
|
110
|
+
|
|
111
|
+
| Key | Action |
|
|
112
|
+
|-----|--------|
|
|
113
|
+
| `F1` | Search view |
|
|
114
|
+
| `F2` | Queue view |
|
|
115
|
+
| `F3` | History view |
|
|
116
|
+
| `F4` | Playlists view |
|
|
117
|
+
| `F5` | Play / Pause |
|
|
118
|
+
| `F6` | Volume down |
|
|
119
|
+
| `F7` | Volume up |
|
|
120
|
+
| `F8` | Next track |
|
|
121
|
+
| `F9` | Stop |
|
|
122
|
+
| `F10` | Add to queue |
|
|
123
|
+
| `/` | Focus search |
|
|
124
|
+
| `Enter` | Play selected |
|
|
125
|
+
| `a` | Add to queue |
|
|
126
|
+
| `Ctrl+C` | Quit |
|
|
127
|
+
|
|
128
|
+
## Screenshots
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
┌─────────────────────────────────────────────────────────┐
|
|
132
|
+
│ wrkmon [Search] │
|
|
133
|
+
├─────────────────────────────────────────────────────────┤
|
|
134
|
+
│ Search: lofi beats │
|
|
135
|
+
├─────────────────────────────────────────────────────────┤
|
|
136
|
+
│ # Title Channel Duration│
|
|
137
|
+
│ 1 Lofi Hip Hop Radio ChilledCow 3:24:15│
|
|
138
|
+
│ 2 Jazz Lofi Beats Lofi Girl 2:45:00│
|
|
139
|
+
│ 3 Study Music Playlist Study 1:30:22│
|
|
140
|
+
├─────────────────────────────────────────────────────────┤
|
|
141
|
+
│ ▶ Now Playing: Lofi Beats advancement █████░░░░░ 1:23:45 │
|
|
142
|
+
│ F1 Search F2 Queue F5 Play/Pause F9 Stop │
|
|
143
|
+
└─────────────────────────────────────────────────────────┘
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Requirements
|
|
147
|
+
|
|
148
|
+
- Python 3.10+
|
|
149
|
+
- mpv media player
|
|
150
|
+
|
|
151
|
+
## Development
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
git clone https://github.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtube.git
|
|
155
|
+
cd Wrkmon-TUI-Youtube
|
|
156
|
+
pip install -e ".[dev]"
|
|
157
|
+
pytest
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## License
|
|
161
|
+
|
|
162
|
+
MIT License - see [LICENSE](LICENSE) for details.
|
|
163
|
+
|
|
164
|
+
## Author
|
|
165
|
+
|
|
166
|
+
**Umar Khan Yousafzai**
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
*Enjoy your music!*
|
|
@@ -1,26 +1,37 @@
|
|
|
1
|
-
# wrkmon
|
|
1
|
+
# wrkmon
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Terminal-based YouTube Music Player** - Listen to music right from your terminal!
|
|
4
4
|
|
|
5
|
-
A
|
|
5
|
+
A beautiful TUI (Terminal User Interface) for streaming YouTube audio. No browser needed, just your terminal.
|
|
6
6
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|

|
|
10
|
+

|
|
10
11
|
|
|
11
12
|
## Features
|
|
12
13
|
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
- 🖥️ **Cross-Platform** - Works on Windows, macOS, and Linux
|
|
14
|
+
- Search and stream YouTube audio
|
|
15
|
+
- Beautiful terminal interface
|
|
16
|
+
- Queue management with shuffle/repeat
|
|
17
|
+
- Play history and playlists
|
|
18
|
+
- Keyboard-driven controls
|
|
19
|
+
- Cross-platform (Windows, macOS, Linux)
|
|
20
20
|
|
|
21
21
|
## Installation
|
|
22
22
|
|
|
23
|
-
###
|
|
23
|
+
### pip (Recommended)
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
pip install wrkmon
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
> **Note:** You also need mpv installed:
|
|
30
|
+
> - Windows: `winget install mpv`
|
|
31
|
+
> - macOS: `brew install mpv`
|
|
32
|
+
> - Linux: `sudo apt install mpv`
|
|
33
|
+
|
|
34
|
+
### Quick Install Scripts
|
|
24
35
|
|
|
25
36
|
**Windows (PowerShell):**
|
|
26
37
|
```powershell
|
|
@@ -34,49 +45,24 @@ curl -sSL https://raw.githubusercontent.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtu
|
|
|
34
45
|
|
|
35
46
|
### Package Managers
|
|
36
47
|
|
|
37
|
-
**Windows (Chocolatey):**
|
|
38
48
|
```powershell
|
|
49
|
+
# Windows (Chocolatey)
|
|
39
50
|
choco install wrkmon
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
**Windows (winget):**
|
|
43
|
-
```powershell
|
|
44
|
-
winget install wrkmon
|
|
45
|
-
```
|
|
46
51
|
|
|
47
|
-
|
|
48
|
-
```bash
|
|
52
|
+
# macOS (Homebrew) - coming soon
|
|
49
53
|
brew install wrkmon
|
|
50
|
-
```
|
|
51
54
|
|
|
52
|
-
|
|
53
|
-
```bash
|
|
55
|
+
# Linux (Snap) - coming soon
|
|
54
56
|
sudo snap install wrkmon
|
|
55
57
|
```
|
|
56
58
|
|
|
57
|
-
**Linux (apt):**
|
|
58
|
-
```bash
|
|
59
|
-
sudo apt install wrkmon
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### pip (All Platforms)
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
pip install wrkmon
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
> **Note:** If using pip, you need to install mpv separately:
|
|
69
|
-
> - Windows: `winget install mpv` or `choco install mpv`
|
|
70
|
-
> - macOS: `brew install mpv`
|
|
71
|
-
> - Linux: `sudo apt install mpv`
|
|
72
|
-
|
|
73
59
|
## Usage
|
|
74
60
|
|
|
75
61
|
```bash
|
|
76
62
|
wrkmon # Launch the TUI
|
|
77
|
-
wrkmon search "q" # Quick search
|
|
78
|
-
wrkmon play <id> # Play a
|
|
79
|
-
wrkmon history # View
|
|
63
|
+
wrkmon search "q" # Quick search
|
|
64
|
+
wrkmon play <id> # Play a video
|
|
65
|
+
wrkmon history # View history
|
|
80
66
|
```
|
|
81
67
|
|
|
82
68
|
## Keyboard Controls
|
|
@@ -95,7 +81,7 @@ wrkmon history # View play history
|
|
|
95
81
|
| `F10` | Add to queue |
|
|
96
82
|
| `/` | Focus search |
|
|
97
83
|
| `Enter` | Play selected |
|
|
98
|
-
| `a` | Add to queue
|
|
84
|
+
| `a` | Add to queue |
|
|
99
85
|
| `Ctrl+C` | Quit |
|
|
100
86
|
|
|
101
87
|
## Screenshots
|
|
@@ -104,38 +90,29 @@ wrkmon history # View play history
|
|
|
104
90
|
┌─────────────────────────────────────────────────────────┐
|
|
105
91
|
│ wrkmon [Search] │
|
|
106
92
|
├─────────────────────────────────────────────────────────┤
|
|
107
|
-
│ Search: lofi
|
|
93
|
+
│ Search: lofi beats │
|
|
108
94
|
├─────────────────────────────────────────────────────────┤
|
|
109
|
-
│ #
|
|
110
|
-
│ 1
|
|
111
|
-
│ 2
|
|
112
|
-
│ 3
|
|
95
|
+
│ # Title Channel Duration│
|
|
96
|
+
│ 1 Lofi Hip Hop Radio ChilledCow 3:24:15│
|
|
97
|
+
│ 2 Jazz Lofi Beats Lofi Girl 2:45:00│
|
|
98
|
+
│ 3 Study Music Playlist Study 1:30:22│
|
|
113
99
|
├─────────────────────────────────────────────────────────┤
|
|
114
|
-
│ ▶ Now Playing:
|
|
100
|
+
│ ▶ Now Playing: Lofi Beats advancement █████░░░░░ 1:23:45 │
|
|
115
101
|
│ F1 Search F2 Queue F5 Play/Pause F9 Stop │
|
|
116
102
|
└─────────────────────────────────────────────────────────┘
|
|
117
103
|
```
|
|
118
104
|
|
|
119
|
-
## Why wrkmon?
|
|
120
|
-
|
|
121
|
-
Ever wanted to listen to music at work but worried about monitoring software catching you? wrkmon disguises itself as a legitimate development process while streaming your favorite tunes in the background. The TUI looks like a process monitor, and the audio plays through mpv with no visible windows.
|
|
122
|
-
|
|
123
105
|
## Requirements
|
|
124
106
|
|
|
125
107
|
- Python 3.10+
|
|
126
|
-
- mpv
|
|
108
|
+
- mpv media player
|
|
127
109
|
|
|
128
110
|
## Development
|
|
129
111
|
|
|
130
112
|
```bash
|
|
131
|
-
# Clone the repo
|
|
132
113
|
git clone https://github.com/Umar-Khan-Yousafzai/Wrkmon-TUI-Youtube.git
|
|
133
114
|
cd Wrkmon-TUI-Youtube
|
|
134
|
-
|
|
135
|
-
# Install in development mode
|
|
136
115
|
pip install -e ".[dev]"
|
|
137
|
-
|
|
138
|
-
# Run tests
|
|
139
116
|
pytest
|
|
140
117
|
```
|
|
141
118
|
|
|
@@ -143,14 +120,10 @@ pytest
|
|
|
143
120
|
|
|
144
121
|
MIT License - see [LICENSE](LICENSE) for details.
|
|
145
122
|
|
|
146
|
-
## Contributing
|
|
147
|
-
|
|
148
|
-
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
149
|
-
|
|
150
123
|
## Author
|
|
151
124
|
|
|
152
125
|
**Umar Khan Yousafzai**
|
|
153
126
|
|
|
154
127
|
---
|
|
155
128
|
|
|
156
|
-
*
|
|
129
|
+
*Enjoy your music!*
|
|
@@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "wrkmon"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.2.0"
|
|
8
8
|
description = "Stealth TUI YouTube audio player - stream music while looking productive"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
11
11
|
license = "MIT"
|
|
12
12
|
authors = [
|
|
13
|
-
{ name = "Umar Khan Yousafzai", email = "
|
|
13
|
+
{ name = "Umar Khan Yousafzai", email = "umerfarooqkhan325@gmail.com" }
|
|
14
14
|
]
|
|
15
15
|
keywords = ["youtube", "audio", "player", "tui", "music", "stealth", "productivity", "terminal"]
|
|
16
16
|
classifiers = [
|
|
@@ -31,9 +31,13 @@ classifiers = [
|
|
|
31
31
|
dependencies = [
|
|
32
32
|
"textual>=0.50.0",
|
|
33
33
|
"typer>=0.9.0",
|
|
34
|
-
"yt-dlp>=
|
|
34
|
+
"yt-dlp>=2025.1.0",
|
|
35
35
|
"rich>=13.0.0",
|
|
36
|
+
"packaging>=21.0",
|
|
37
|
+
"Pillow>=9.0.0",
|
|
36
38
|
"pywin32>=306; sys_platform == 'win32'",
|
|
39
|
+
"dbus-next>=0.2.3; sys_platform == 'linux'",
|
|
40
|
+
"pynput>=1.7.6; sys_platform == 'win32' or sys_platform == 'darwin'",
|
|
37
41
|
]
|
|
38
42
|
|
|
39
43
|
[project.optional-dependencies]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[egg_info]
|
|
2
|
-
tag_build =
|
|
3
|
-
tag_date = 0
|
|
4
|
-
|
|
1
|
+
[egg_info]
|
|
2
|
+
tag_build =
|
|
3
|
+
tag_date = 0
|
|
4
|
+
|
|
File without changes
|
|
File without changes
|
|
File without changes
|