Melek AI Asistanı için Sistem ve Donanım İzleyici
Project description
MelekSys Kütüphanesi
MelekSys, arka planda çalışan ve CPU, GPU, RAM, Disk, Güç (Pil/AC) ve Ağ durumunu izleyen gelişmiş bir donanım takip kütüphanesidir. Özellikle yapay zeka asistanları (örneğin Melek AI) ve otomasyon projeleri için tasarlanmış olup, sistemin sağlık durumunu 3 farklı uyarı seviyesiyle (INFO, WARNING, CRITICAL) raporlar.
Özellikler
- Donanım Tespiti: CPU, RAM, GPU ve Disk model/boyutlarını otomatik algılar.
- Dinamik Eşik Değerleri: İşlemci veya ekran kartı boşta mı yoksa yük altında mı çalışıyor analiz eder ve sıcaklık uyarı eşiklerini ona göre dinamik ayarlar.
- Kilitli Uygulama Tespiti (Windows): "Yanıt Vermiyor" durumuna düşen uygulamaları yakalar ve kullanıcıya kapatıp kapatmamak istediğini soracak yapılar sunar.
- Zombi Süreç Avcısı: CPU kullanmayan ancak çok fazla RAM tüketen "hayalet" (zombie) arka plan işlemlerini tespit eder.
- VRAM Darboğazı ve Disk Takibi: Ekran kartının belleği veya sabit disk dolmak üzereyse uyarır.
- Ağ Değişim Algılama: Ethernet'ten Wi-Fi'a veya Mobil Hotspot'a geçildiğinde (özellikle Hotspot'ta veri tasarrufu için) uyarır.
Kurulum
Projeyi PyPI üzerinden kolayca kurabilirsiniz:
pip install meleksys
Basit Kullanım
Aşağıdaki örnekte bir donanım izleyicisinin nasıl başlatılacağı, uyarıların nasıl ele alınacağı ve anlık bir raporun nasıl yazdırılacağı gösterilmiştir.
import time
from meleksys import MelekSystemMonitor
# 1. Uyarı ve Kritik Durum fonksiyonlarını tanımlayın
def uyar(mesaj):
print("🔔 SİSTEM UYARISI:", mesaj)
def kritik(uygulama):
print(f"⛔ KRİTİK: {uygulama.name} uygulaması kilitlendi!")
# True dönerseniz sistem uygulamayı zorla kapatır, False dönerseniz dokunmaz.
return False
# 2. Monitörü oluşturun
monitor = MelekSystemMonitor(
poll_interval=2.5, # 2.5 saniyede bir ölçüm yapar
on_warning=uyar, # Uyarıları kendi fonksiyonunuza bağlayın
on_critical=kritik # Kritik kararları kendi fonksiyonunuza bağlayın
)
# 3. Arka planda izlemeyi başlatın
monitor.start()
print("İzleyici çalışıyor... Anlık durum raporu alınıyor:\n")
# Anlık detaylı rapor çıktısı verir:
print(monitor.report())
# 5 saniye bekleyip izleyiciyi güvenle kapatalım
time.sleep(5)
monitor.stop()
Veri Sınıfları ve Yapılar
MelekSys kullanırken izleyici nesnesinin snapshot ve hw özellikleri aracılığıyla sistemin anlık verilerine erişebilirsiniz.
HardwareProfile (Donanım Bilgisi)
monitor.hw ile erişebilirsiniz.
cpu_model(str): İşlemci modelicpu_cores(int): Çekirdek sayısıtotal_ram_gb(float): Toplam RAMgpu_model(str): Ekran kartı modelitotal_vram_gb(float): Toplam VRAMos_name(str): İşletim sistemi versiyonu
SystemSnapshot (Anlık Durum)
monitor.snapshot ile erişebilirsiniz.
cpu_percent(float): CPU kullanım yüzdesicpu_temp_c(float): CPU sıcaklığı (°C)ram_percent(float): RAM kullanım yüzdesigpu_load(float): GPU kullanım yüzdesigpu_temp_c(float): GPU sıcaklığı (°C)vram_percent(float): VRAM kullanım yüzdesibattery_pct(float): Pil yüzdesi (masaüstünde None)network_type(Enum): Ağ tipi (ETHERNET, WIFI, HOTSPOT vb.)
İleri Seviye Özellikler
Sistemin kendi koruduğu işlemler (Windows servisleri vb.) haricinde, kapanmasını kesinlikle istemediğiniz uygulamalar varsa extra_whitelist ile belirtebilirsiniz.
monitor = MelekSystemMonitor(
extra_whitelist=["benim_uygulamam.exe", "oyun.exe"]
)
Bu sayede söz konusu uygulamalar zombi olarak algılansa bile sistem onlara dokunmayacaktır.
Katkıda Bulunma
Her türlü hata bildirimi ve özellik isteği için GitHub Issues üzerinden bizimle iletişime geçebilirsiniz.
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 meleksys-1.0.0.tar.gz.
File metadata
- Download URL: meleksys-1.0.0.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15155763aa15ae0f55a3eeb65d5487bcd62dc9b71cbc14c29e47221ba94dc1f9
|
|
| MD5 |
26743ed3b999f27c9ec6a294f12e42e9
|
|
| BLAKE2b-256 |
f7447b46b91b407a553018134cd547712d9fde2b8a86560a6dd98bc6dd0e8554
|
File details
Details for the file meleksys-1.0.0-py3-none-any.whl.
File metadata
- Download URL: meleksys-1.0.0-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a97da55b5cc2f7ed2cbd7b27dec6d0bc7b18504353d31ebf430ad22d46006fa2
|
|
| MD5 |
22ad6f4a09339317c9569decad9cf16f
|
|
| BLAKE2b-256 |
847bfe1d874e5d1bbae6eeaec757f26b790ab6f241080322b01e5d2e8117a400
|