wrkmon 1.0.1__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.1/wrkmon.egg-info → wrkmon-1.2.0}/PKG-INFO +170 -166
- {wrkmon-1.0.1 → wrkmon-1.2.0}/README.md +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/pyproject.toml +6 -2
- {wrkmon-1.0.1 → wrkmon-1.2.0}/setup.cfg +4 -4
- {wrkmon-1.0.1 → wrkmon-1.2.0}/tests/test_core.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/tests/test_utils.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/__init__.py +1 -1
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/__main__.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/app.py +297 -3
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/cli.py +100 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/core/__init__.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/core/cache.py +0 -0
- wrkmon-1.2.0/wrkmon/core/media_keys.py +377 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/core/player.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/core/queue.py +55 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/core/youtube.py +102 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/data/__init__.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/data/database.py +120 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/data/migrations.py +26 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/data/models.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/__init__.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/components.py +0 -0
- {wrkmon-1.0.1 → 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.1 → wrkmon-1.2.0}/wrkmon/ui/screens/history.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/screens/player.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/screens/playlist.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/screens/search.py +0 -0
- wrkmon-1.2.0/wrkmon/ui/theme.py +583 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/views/search.py +168 -12
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/widgets/header.py +31 -1
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/widgets/player_bar.py +40 -7
- wrkmon-1.2.0/wrkmon/ui/widgets/thumbnail.py +230 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/utils/__init__.py +0 -0
- wrkmon-1.2.0/wrkmon/utils/ascii_art.py +408 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/utils/config.py +85 -4
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/utils/stealth.py +0 -0
- wrkmon-1.2.0/wrkmon/utils/updater.py +311 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0/wrkmon.egg-info}/PKG-INFO +170 -166
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon.egg-info/SOURCES.txt +6 -1
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon.egg-info/dependency_links.txt +0 -0
- {wrkmon-1.0.1 → 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.1 → wrkmon-1.2.0}/wrkmon.egg-info/top_level.txt +0 -0
- wrkmon-1.0.1/wrkmon/ui/theme.py +0 -326
- wrkmon-1.0.1/wrkmon.egg-info/requires.txt +0 -11
- {wrkmon-1.0.1 → wrkmon-1.2.0}/LICENSE +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/messages.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/views/__init__.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/views/history.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/views/playlists.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/views/queue.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/widgets/__init__.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/ui/widgets/result_item.py +0 -0
- {wrkmon-1.0.1 → wrkmon-1.2.0}/wrkmon/utils/mpv_installer.py +0 -0
|
@@ -1,166 +1,170 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: wrkmon
|
|
3
|
-
Version: 1.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>=
|
|
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
|
-
|
|
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!*
|
|
File without changes
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "wrkmon"
|
|
7
|
-
version = "1.0
|
|
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"
|
|
@@ -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
|