Skip to main content

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 modeli
  • cpu_cores (int): Çekirdek sayısı
  • total_ram_gb (float): Toplam RAM
  • gpu_model (str): Ekran kartı modeli
  • total_vram_gb (float): Toplam VRAM
  • os_name (str): İşletim sistemi versiyonu

SystemSnapshot (Anlık Durum)

monitor.snapshot ile erişebilirsiniz.

  • cpu_percent (float): CPU kullanım yüzdesi
  • cpu_temp_c (float): CPU sıcaklığı (°C)
  • ram_percent (float): RAM kullanım yüzdesi
  • gpu_load (float): GPU kullanım yüzdesi
  • gpu_temp_c (float): GPU sıcaklığı (°C)
  • vram_percent (float): VRAM kullanım yüzdesi
  • battery_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.

https://github.com/TearsFearsxf/meleksys

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meleksys-1.0.0.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meleksys-1.0.0-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

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

Hashes for meleksys-1.0.0.tar.gz
Algorithm Hash digest
SHA256 15155763aa15ae0f55a3eeb65d5487bcd62dc9b71cbc14c29e47221ba94dc1f9
MD5 26743ed3b999f27c9ec6a294f12e42e9
BLAKE2b-256 f7447b46b91b407a553018134cd547712d9fde2b8a86560a6dd98bc6dd0e8554

See more details on using hashes here.

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

Hashes for meleksys-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a97da55b5cc2f7ed2cbd7b27dec6d0bc7b18504353d31ebf430ad22d46006fa2
MD5 22ad6f4a09339317c9569decad9cf16f
BLAKE2b-256 847bfe1d874e5d1bbae6eeaec757f26b790ab6f241080322b01e5d2e8117a400

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page