devpulse-tui 0.1.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.
@@ -0,0 +1,305 @@
1
+ Metadata-Version: 2.4
2
+ Name: devpulse-tui
3
+ Version: 0.1.0
4
+ Summary: Developer-focused Linux observability dashboard
5
+ Author: eyeblech
6
+ Requires-Python: >=3.9
7
+ Description-Content-Type: text/markdown
8
+ Requires-Dist: rich
9
+ Requires-Dist: psutil
10
+ Requires-Dist: typer
11
+ Requires-Dist: sqlalchemy
12
+ Requires-Dist: GitPython
13
+ Requires-Dist: py3nvml
14
+ Dynamic: requires-python
15
+
16
+
17
+ # DevPulse
18
+
19
+
20
+
21
+ > Real-time terminal dashboard for developers.
22
+
23
+
24
+
25
+ DevPulse is a modern terminal-based system monitor built for developers.
26
+
27
+ Track CPU, RAM, disk usage, network activity, running processes, and live Git repository activity directly from your terminal.
28
+
29
+
30
+
31
+ Built with Python, Rich, Typer, SQLAlchemy, and psutil.
32
+
33
+
34
+
35
+ ---
36
+
37
+
38
+
39
+ ## Preview
40
+
41
+
42
+
43
+ ![DevPulse GIF](assets/demo.gif)
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+ ---
52
+
53
+
54
+
55
+ ## Features
56
+
57
+
58
+
59
+ * Real-time system monitoring
60
+
61
+ * Live CPU / RAM / Disk metrics
62
+
63
+ * GPU usage support (NVIDIA)
64
+
65
+ * Network upload/download tracking
66
+
67
+ * Running process monitor
68
+
69
+ * Git repository activity panel
70
+
71
+ * Terminal dashboard UI powered by Rich
72
+
73
+ * Historical analytics tracking
74
+
75
+ * SQLite-based lightweight logging
76
+
77
+
78
+
79
+ ---
80
+
81
+
82
+
83
+ ## Installation
84
+
85
+
86
+
87
+ ### Install from PyPI
88
+
89
+
90
+
91
+ ```bash
92
+
93
+ pip install devpulse
94
+
95
+ ```
96
+
97
+ ### Clone Repository
98
+
99
+
100
+
101
+ ```bash
102
+
103
+ git clone https://github.com/eyeblech/DevPulse.git
104
+
105
+ cd DevPulse
106
+
107
+ ```
108
+
109
+
110
+
111
+ ### Create Virtual Environment
112
+
113
+
114
+
115
+ ```bash
116
+
117
+ python -m venv venv
118
+
119
+ source venv/bin/activate
120
+
121
+ ```
122
+
123
+
124
+
125
+ ### Install Dependencies
126
+
127
+
128
+
129
+ ```bash
130
+
131
+ pip install -r requirements.txt
132
+
133
+ ```
134
+
135
+
136
+
137
+ ---
138
+
139
+
140
+
141
+ ## Usage
142
+
143
+
144
+
145
+ ### Launch Live Dashboard
146
+
147
+
148
+
149
+ ```bash
150
+
151
+ devpulse live
152
+
153
+ ```
154
+
155
+
156
+
157
+ ### Show Analytics
158
+
159
+
160
+
161
+ ```bash
162
+
163
+ devpulse stats
164
+
165
+ ```
166
+
167
+
168
+
169
+ ### Run Diagnostics
170
+
171
+
172
+
173
+ ```bash
174
+
175
+ devpulse doctor
176
+
177
+ ```
178
+
179
+
180
+
181
+ ### Show Version
182
+
183
+
184
+
185
+ ```bash
186
+
187
+ devpulse version
188
+
189
+ ```
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+ ## Tech Stack
200
+
201
+
202
+
203
+ * Python
204
+
205
+ * Rich
206
+
207
+ * Typer
208
+
209
+ * psutil
210
+
211
+ * SQLAlchemy
212
+
213
+ * SQLite
214
+
215
+
216
+
217
+
218
+
219
+ ## Why I Built This
220
+
221
+
222
+
223
+ I wanted a terminal dashboard that combined:
224
+
225
+
226
+
227
+ * system monitoring
228
+
229
+ * developer workflow visibility
230
+
231
+ * git awareness
232
+
233
+ * lightweight analytics
234
+
235
+
236
+
237
+ into a single modern TUI experience.
238
+
239
+
240
+
241
+ DevPulse started as a learning project and evolved into a polished developer utility focused on Linux workflows.
242
+
243
+
244
+
245
+ ---
246
+
247
+
248
+
249
+
250
+ ## Screenshots
251
+
252
+
253
+
254
+ ### Live Dashboard
255
+
256
+
257
+
258
+ ![Dashboard](assets/dashboard.png)
259
+
260
+
261
+
262
+ ### Analytics
263
+
264
+
265
+
266
+ ![Analytics](assets/stats.png)
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+ ## Contributing
277
+
278
+
279
+
280
+ Pull requests, issues, and feature suggestions are welcome.
281
+
282
+
283
+
284
+ If you find a bug or want to improve DevPulse, feel free to open an issue.
285
+
286
+
287
+
288
+
289
+
290
+ ## License
291
+
292
+
293
+
294
+ MIT License
295
+
296
+
297
+
298
+
299
+
300
+
301
+ ## Author
302
+
303
+
304
+
305
+ EyeBlech
@@ -0,0 +1,290 @@
1
+
2
+ # DevPulse
3
+
4
+
5
+
6
+ > Real-time terminal dashboard for developers.
7
+
8
+
9
+
10
+ DevPulse is a modern terminal-based system monitor built for developers.
11
+
12
+ Track CPU, RAM, disk usage, network activity, running processes, and live Git repository activity directly from your terminal.
13
+
14
+
15
+
16
+ Built with Python, Rich, Typer, SQLAlchemy, and psutil.
17
+
18
+
19
+
20
+ ---
21
+
22
+
23
+
24
+ ## Preview
25
+
26
+
27
+
28
+ ![DevPulse GIF](assets/demo.gif)
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+ ---
37
+
38
+
39
+
40
+ ## Features
41
+
42
+
43
+
44
+ * Real-time system monitoring
45
+
46
+ * Live CPU / RAM / Disk metrics
47
+
48
+ * GPU usage support (NVIDIA)
49
+
50
+ * Network upload/download tracking
51
+
52
+ * Running process monitor
53
+
54
+ * Git repository activity panel
55
+
56
+ * Terminal dashboard UI powered by Rich
57
+
58
+ * Historical analytics tracking
59
+
60
+ * SQLite-based lightweight logging
61
+
62
+
63
+
64
+ ---
65
+
66
+
67
+
68
+ ## Installation
69
+
70
+
71
+
72
+ ### Install from PyPI
73
+
74
+
75
+
76
+ ```bash
77
+
78
+ pip install devpulse
79
+
80
+ ```
81
+
82
+ ### Clone Repository
83
+
84
+
85
+
86
+ ```bash
87
+
88
+ git clone https://github.com/eyeblech/DevPulse.git
89
+
90
+ cd DevPulse
91
+
92
+ ```
93
+
94
+
95
+
96
+ ### Create Virtual Environment
97
+
98
+
99
+
100
+ ```bash
101
+
102
+ python -m venv venv
103
+
104
+ source venv/bin/activate
105
+
106
+ ```
107
+
108
+
109
+
110
+ ### Install Dependencies
111
+
112
+
113
+
114
+ ```bash
115
+
116
+ pip install -r requirements.txt
117
+
118
+ ```
119
+
120
+
121
+
122
+ ---
123
+
124
+
125
+
126
+ ## Usage
127
+
128
+
129
+
130
+ ### Launch Live Dashboard
131
+
132
+
133
+
134
+ ```bash
135
+
136
+ devpulse live
137
+
138
+ ```
139
+
140
+
141
+
142
+ ### Show Analytics
143
+
144
+
145
+
146
+ ```bash
147
+
148
+ devpulse stats
149
+
150
+ ```
151
+
152
+
153
+
154
+ ### Run Diagnostics
155
+
156
+
157
+
158
+ ```bash
159
+
160
+ devpulse doctor
161
+
162
+ ```
163
+
164
+
165
+
166
+ ### Show Version
167
+
168
+
169
+
170
+ ```bash
171
+
172
+ devpulse version
173
+
174
+ ```
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+ ## Tech Stack
185
+
186
+
187
+
188
+ * Python
189
+
190
+ * Rich
191
+
192
+ * Typer
193
+
194
+ * psutil
195
+
196
+ * SQLAlchemy
197
+
198
+ * SQLite
199
+
200
+
201
+
202
+
203
+
204
+ ## Why I Built This
205
+
206
+
207
+
208
+ I wanted a terminal dashboard that combined:
209
+
210
+
211
+
212
+ * system monitoring
213
+
214
+ * developer workflow visibility
215
+
216
+ * git awareness
217
+
218
+ * lightweight analytics
219
+
220
+
221
+
222
+ into a single modern TUI experience.
223
+
224
+
225
+
226
+ DevPulse started as a learning project and evolved into a polished developer utility focused on Linux workflows.
227
+
228
+
229
+
230
+ ---
231
+
232
+
233
+
234
+
235
+ ## Screenshots
236
+
237
+
238
+
239
+ ### Live Dashboard
240
+
241
+
242
+
243
+ ![Dashboard](assets/dashboard.png)
244
+
245
+
246
+
247
+ ### Analytics
248
+
249
+
250
+
251
+ ![Analytics](assets/stats.png)
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+ ## Contributing
262
+
263
+
264
+
265
+ Pull requests, issues, and feature suggestions are welcome.
266
+
267
+
268
+
269
+ If you find a bug or want to improve DevPulse, feel free to open an issue.
270
+
271
+
272
+
273
+
274
+
275
+ ## License
276
+
277
+
278
+
279
+ MIT License
280
+
281
+
282
+
283
+
284
+
285
+
286
+ ## Author
287
+
288
+
289
+
290
+ EyeBlech
File without changes
@@ -0,0 +1,50 @@
1
+ import subprocess
2
+ import time
3
+
4
+
5
+ CODING_KEYWORDS = [
6
+ "code",
7
+ "nvim",
8
+ "vim",
9
+ "pycharm",
10
+ "idea",
11
+ "terminal",
12
+ "konsole",
13
+ "kitty",
14
+ "github",
15
+ ]
16
+
17
+
18
+ session_start = time.time()
19
+
20
+
21
+ def get_active_window():
22
+ try:
23
+ window_name = subprocess.check_output(
24
+ ["xdotool", "getactivewindow", "getwindowname"],
25
+ text=True
26
+ ).strip()
27
+
28
+ return window_name
29
+
30
+ except Exception:
31
+ return "Unknown"
32
+
33
+
34
+ def is_coding(window_name):
35
+ window_name = window_name.lower()
36
+
37
+ return any(
38
+ keyword in window_name
39
+ for keyword in CODING_KEYWORDS
40
+ )
41
+
42
+
43
+ def get_session_duration():
44
+ seconds = int(time.time() - session_start)
45
+
46
+ hours = seconds // 3600
47
+ minutes = (seconds % 3600) // 60
48
+ secs = seconds % 60
49
+
50
+ return f"{hours:02}:{minutes:02}:{secs:02}"
@@ -0,0 +1,75 @@
1
+ from datetime import datetime
2
+ from sqlalchemy import (
3
+ create_engine,
4
+ Column,
5
+ Integer,
6
+ Float,
7
+ String,
8
+ )
9
+
10
+ from sqlalchemy.orm import (
11
+ declarative_base,
12
+ sessionmaker,
13
+ )
14
+
15
+ Base = declarative_base()
16
+
17
+
18
+ class SystemStat(Base):
19
+ __tablename__ = "system_stats"
20
+
21
+ id = Column(Integer, primary_key=True)
22
+ timestamp = Column(
23
+ String,
24
+ default=lambda: datetime.now().isoformat()
25
+ )
26
+ cpu = Column(Float)
27
+ ram = Column(Float)
28
+ disk = Column(Float)
29
+
30
+ gpu = Column(String)
31
+
32
+ upload = Column(Float)
33
+ download = Column(Float)
34
+
35
+ repo = Column(String)
36
+ branch = Column(String)
37
+
38
+
39
+ engine = create_engine(
40
+ "sqlite:///devpulse.db"
41
+ )
42
+
43
+ SessionLocal = sessionmaker(bind=engine)
44
+
45
+
46
+ def init_db():
47
+ Base.metadata.create_all(engine)
48
+
49
+ def log_system_stats(
50
+ cpu,
51
+ ram,
52
+ disk,
53
+ gpu,
54
+ upload,
55
+ download,
56
+ repo,
57
+ branch,
58
+ ):
59
+ session = SessionLocal()
60
+
61
+ stat = SystemStat(
62
+ cpu=cpu,
63
+ ram=ram,
64
+ disk=disk,
65
+ gpu=gpu,
66
+ upload=upload,
67
+ download=download,
68
+ repo=repo,
69
+ branch=branch,
70
+ )
71
+
72
+ session.add(stat)
73
+ session.commit()
74
+
75
+ session.close()