macutility 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,26 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+
5
+ # Virtual environment
6
+ .venv/
7
+
8
+ # macOS
9
+ .DS_Store
10
+
11
+ # IDE
12
+ .vscode/
13
+ .idea/
14
+
15
+ # Build
16
+ build/
17
+ dist/
18
+ *.spec
19
+
20
+ # Test / tooling cache
21
+ .pytest_cache/
22
+ .mypy_cache/
23
+ .ruff_cache/
24
+
25
+ # Logs
26
+ *.log
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Puji Ermanto
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.c
@@ -0,0 +1,432 @@
1
+ Metadata-Version: 2.5
2
+ Name: macutility
3
+ Version: 0.1.0
4
+ Summary: A lightweight macOS desktop utility for system monitoring and process management.
5
+ Project-URL: Homepage, https://github.com/codesyariah122/MacUtility
6
+ Project-URL: Repository, https://github.com/codesyariah122/MacUtility
7
+ Project-URL: Issues, https://github.com/codesyariah122/MacUtility/issues
8
+ Author: Puji Ermanto
9
+ License: MIT
10
+ License-File: LICENSE
11
+ Keywords: desktop,developer-tools,mac,macos,process-manager,system-monitor,utility
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: MacOS
16
+ Classifier: Programming Language :: Python
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3 :: Only
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
24
+ Classifier: Topic :: System :: Monitoring
25
+ Classifier: Topic :: System :: Systems Administration
26
+ Requires-Python: >=3.10
27
+ Requires-Dist: psutil>=7.2.0
28
+ Requires-Dist: pyside6>=6.11.0
29
+ Description-Content-Type: text/markdown
30
+
31
+ # MacUtility
32
+
33
+ A lightweight macOS desktop utility built with Python and PySide6 for monitoring system resources and managing running processes.
34
+
35
+ MacUtility is designed as a practical developer-oriented utility for macOS, with a focus on quickly identifying high CPU or memory usage and safely managing processes from a graphical interface.
36
+
37
+ > 🚧 **Project Status:** Early Development / Pre-release
38
+
39
+ ---
40
+
41
+ ## Features
42
+
43
+ ### Process Manager
44
+
45
+ Monitor running processes directly from a desktop interface.
46
+
47
+ - View running processes
48
+ - Display PID
49
+ - Display process name
50
+ - Monitor CPU usage
51
+ - Monitor memory usage
52
+ - View process status
53
+ - Search processes by name or PID
54
+ - Sort processes by CPU usage
55
+ - Terminate processes
56
+ - Force kill processes
57
+ - Protected system processes
58
+
59
+ ### System Monitor
60
+
61
+ Monitor basic system resources in real time.
62
+
63
+ - CPU usage
64
+ - Memory usage
65
+ - Automatic refresh
66
+ - Lightweight monitoring
67
+
68
+ ### Protected Processes
69
+
70
+ MacUtility includes a protection layer to prevent accidental termination of important macOS processes.
71
+
72
+ Protected processes include system components such as:
73
+
74
+ - `kernel_task`
75
+ - `launchd`
76
+ - `WindowServer`
77
+ - `loginwindow`
78
+ - `systemuiserver`
79
+ - `Finder`
80
+ - `Dock`
81
+ - `SystemUIServer`
82
+ - `coreaudiod`
83
+ - `coreduetd`
84
+ - `mds`
85
+ - `mds_stores`
86
+ - `mdworker`
87
+ - `mdworker_shared`
88
+ - `cfprefsd`
89
+ - `opendirectoryd`
90
+ - `distnoted`
91
+ - `notifyd`
92
+
93
+ The application also protects selected applications that should remain available during development, including:
94
+
95
+ - Termius
96
+ - Visual Studio Code
97
+ - Code Helper
98
+
99
+ The protection system is intentionally conservative and may be expanded as the project evolves.
100
+
101
+ ---
102
+
103
+ ## Screenshots
104
+
105
+ ### Process Manager
106
+
107
+ > Screenshot will be added as the UI evolves.
108
+
109
+ ---
110
+
111
+ ## Tech Stack
112
+
113
+ MacUtility is built with:
114
+
115
+ - **Python 3**
116
+ - **PySide6** — desktop GUI framework
117
+ - **psutil** — system and process monitoring
118
+
119
+ ### Architecture
120
+
121
+ The project separates UI, process management, and utility logic:
122
+
123
+ ```text
124
+ MacUtility/
125
+ ├── app/
126
+ │ ├── __init__.py
127
+ │ ├── main.py
128
+ │ │
129
+ │ ├── services/
130
+ │ │ ├── __init__.py
131
+ │ │ └── process_service.py
132
+ │ │
133
+ │ ├── ui/
134
+ │ │ ├── __init__.py
135
+ │ │ └── main_window.py
136
+ │ │
137
+ │ └── utils/
138
+ │ ├── __init__.py
139
+ │ └── protected_processes.py
140
+ │
141
+ ├── .gitignore
142
+ ├── requirements.txt
143
+ └── README.md
144
+ ```
145
+
146
+ ---
147
+
148
+ ## Requirements
149
+
150
+ - macOS
151
+ - Python 3.10+
152
+ - pip
153
+ - Virtual environment recommended
154
+
155
+ PySide6 provides the desktop GUI, while psutil is responsible for accessing system and process information.
156
+
157
+ ---
158
+
159
+ ## Installation
160
+
161
+ ### 1. Clone the repository
162
+
163
+ ```bash
164
+ git clone https://github.com/codesyariah122/MacUtility.git
165
+ cd MacUtility
166
+ ```
167
+
168
+ ### 2. Create a virtual environment
169
+
170
+ ```bash
171
+ python3 -m venv .venv
172
+ ```
173
+
174
+ ### 3. Activate the virtual environment
175
+
176
+ ```bash
177
+ source .venv/bin/activate
178
+ ```
179
+
180
+ ### 4. Install dependencies
181
+
182
+ ```bash
183
+ pip install -r requirements.txt
184
+ ```
185
+
186
+ ---
187
+
188
+ ## Running the Application
189
+
190
+ From the project root:
191
+
192
+ ```bash
193
+ python -m app.main
194
+ ```
195
+
196
+ MacUtility should open as a desktop application.
197
+
198
+ ---
199
+
200
+ ## Development
201
+
202
+ MacUtility is currently being developed incrementally.
203
+
204
+ The current development milestone is:
205
+
206
+ ### V0.1.0
207
+
208
+ - Process monitoring
209
+ - CPU monitoring
210
+ - Memory monitoring
211
+ - Process search
212
+ - Process sorting
213
+ - Process termination
214
+ - Force kill
215
+ - Protected processes
216
+
217
+ Future releases will expand the application into a broader macOS developer utility.
218
+
219
+ ---
220
+
221
+ ## Roadmap
222
+
223
+ ### V0.1.x — Process Manager
224
+
225
+ - [x] CPU monitoring
226
+ - [x] Memory monitoring
227
+ - [x] Process list
228
+ - [x] Process search
229
+ - [x] Process sorting
230
+ - [x] Process termination
231
+ - [x] Force kill
232
+ - [x] Protected processes
233
+ - [x] Protected Termius
234
+ - [x] Protected Visual Studio Code
235
+
236
+ ### V0.2.x — Dashboard
237
+
238
+ - [ ] Improved system dashboard
239
+ - [ ] Top CPU processes
240
+ - [ ] Top memory processes
241
+ - [ ] CPU usage indicators
242
+ - [ ] Memory usage indicators
243
+ - [ ] Process details
244
+ - [ ] Background monitoring worker
245
+
246
+ ### V0.3.x — Disk Utilities
247
+
248
+ - [ ] Disk usage monitoring
249
+ - [ ] Large file finder
250
+ - [ ] Cache inspection
251
+ - [ ] Developer cache utilities
252
+ - [ ] Storage overview
253
+
254
+ ### V0.4.x — Network Utilities
255
+
256
+ - [ ] Network status
257
+ - [ ] Network interface information
258
+ - [ ] IP information
259
+ - [ ] DNS utilities
260
+ - [ ] Ping utility
261
+ - [ ] Network diagnostics
262
+
263
+ ### V0.5.x — Port Manager
264
+
265
+ - [ ] List listening ports
266
+ - [ ] Identify processes using ports
267
+ - [ ] Search ports
268
+ - [ ] Terminate process by port
269
+ - [ ] Port diagnostics
270
+
271
+ Example:
272
+
273
+ ```text
274
+ Port 8000
275
+
276
+ PID Process
277
+ 1234 php
278
+
279
+ [ Kill Process ]
280
+ ```
281
+
282
+ ### V0.6.x — Developer Utilities
283
+
284
+ Planned utilities for common development environments:
285
+
286
+ - [ ] PHP process management
287
+ - [ ] Node.js process management
288
+ - [ ] Laravel utilities
289
+ - [ ] Composer utilities
290
+ - [ ] npm utilities
291
+ - [ ] Yarn utilities
292
+ - [ ] Flutter utilities
293
+ - [ ] Android SDK utilities
294
+ - [ ] Git utilities
295
+ - [ ] SSH utilities
296
+
297
+ ### V0.7.x — Docker Utilities
298
+
299
+ - [ ] Docker container overview
300
+ - [ ] Container CPU usage
301
+ - [ ] Container memory usage
302
+ - [ ] Start/stop containers
303
+ - [ ] Docker cleanup utilities
304
+ - [ ] Docker resource overview
305
+
306
+ ### V0.8.x — macOS Integration
307
+
308
+ - [ ] Menu bar application
309
+ - [ ] macOS notifications
310
+ - [ ] Launch at login
311
+ - [ ] Native macOS application icon
312
+ - [ ] Improved macOS permissions handling
313
+
314
+ ### V1.0.0 — Stable Release
315
+
316
+ The goal for `1.0.0` is a stable, polished macOS developer utility with reliable system monitoring and a collection of useful developer-oriented tools.
317
+
318
+ ---
319
+
320
+ ## Safety
321
+
322
+ MacUtility interacts directly with running processes.
323
+
324
+ Process termination can cause:
325
+
326
+ - Unsaved data loss
327
+ - Application crashes
328
+ - Interrupted development processes
329
+ - Unexpected system behavior
330
+
331
+ For this reason, MacUtility includes protected processes and confirmation dialogs before terminating processes.
332
+
333
+ Use **Force Kill** only when a process is unresponsive and normal termination does not work.
334
+
335
+ ---
336
+
337
+ ## Why MacUtility?
338
+
339
+ macOS already provides tools such as Activity Monitor and Terminal for process management.
340
+
341
+ MacUtility aims to provide a simpler workflow for developers who frequently need to:
342
+
343
+ 1. Identify a process consuming excessive CPU or memory.
344
+ 2. Find its PID.
345
+ 3. Determine whether the process is safe to terminate.
346
+ 4. Stop it without opening Terminal.
347
+ 5. Access additional developer-oriented utilities from one application.
348
+
349
+ For example:
350
+
351
+ ```text
352
+ 🔥 Firefox plugin-container
353
+
354
+ CPU: 88%
355
+
356
+ [ Kill ]
357
+ ```
358
+
359
+ instead of manually running:
360
+
361
+ ```bash
362
+ ps -Ao pid,pcpu,pmem,comm | sort -k2 -nr
363
+ ```
364
+
365
+ and then:
366
+
367
+ ```bash
368
+ kill -9 <PID>
369
+ ```
370
+
371
+ ---
372
+
373
+ ## Project Goals
374
+
375
+ MacUtility aims to become a practical toolbox for macOS developers.
376
+
377
+ The long-term goal is to bring frequently used commands and diagnostics into one lightweight desktop application.
378
+
379
+ Instead of remembering multiple Terminal commands, developers should be able to perform common tasks through a single interface.
380
+
381
+ ---
382
+
383
+ ## Contributing
384
+
385
+ Contributions, suggestions, and issue reports are welcome.
386
+
387
+ Before submitting a pull request:
388
+
389
+ 1. Fork the repository.
390
+ 2. Create a feature branch.
391
+ 3. Make your changes.
392
+ 4. Test the application on macOS.
393
+ 5. Commit your changes.
394
+ 6. Open a pull request.
395
+
396
+ Example:
397
+
398
+ ```bash
399
+ git checkout -b feature/my-feature
400
+ ```
401
+
402
+ ---
403
+
404
+ ## License
405
+
406
+ License information will be added before the first public release.
407
+
408
+ ---
409
+
410
+ ## Author
411
+
412
+ **Puji Ermanto**
413
+
414
+ GitHub:
415
+
416
+ https://github.com/codesyariah122
417
+
418
+ ---
419
+
420
+ ## Repository
421
+
422
+ GitHub:
423
+
424
+ https://github.com/codesyariah122/MacUtility
425
+
426
+ ---
427
+
428
+ ## Status
429
+
430
+ MacUtility is currently an active development project.
431
+
432
+ The current version focuses on the foundation of the process manager and system monitoring functionality. APIs, architecture, UI, and features may change before the `1.0.0` stable release.