Metadata-Version: 2.4
Name: openbuffet_toolkit
Version: 0.1.0
Summary: A utility toolkit including logging, configuration, HuggingFace helpers and more.
Author-email: Ferdi Kurnaz <ferdikurnazdm@gmail.com>
License-Expression: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: certifi==2025.4.26
Requires-Dist: charset-normalizer==3.4.2
Requires-Dist: colorama==0.4.6
Requires-Dist: dotenv==0.9.9
Requires-Dist: filelock==3.18.0
Requires-Dist: fsspec==2025.5.1
Requires-Dist: huggingface-hub==0.32.3
Requires-Dist: idna==3.10
Requires-Dist: packaging==25.0
Requires-Dist: python-dotenv==1.1.0
Requires-Dist: PyYAML==6.0.2
Requires-Dist: requests==2.32.3
Requires-Dist: tqdm==4.67.1
Requires-Dist: typing_extensions==4.13.2
Requires-Dist: urllib3==2.4.0
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Dynamic: license-file

# OpenBuffet Toolkit

OpenBuffet ekosistemi için geliştirilmiş modüler bir Python araç kütüphanesidir. Bu toolkit; konfigürasyon yönetimi, loglama, zaman profilleme ve Hugging Face entegrasyonu gibi çok yönlü yardımcı bileşenler içerir. 

Modern uygulamalarda yeniden kullanılabilirliği artırmak, entegrasyonları sadeleştirmek ve yazılım kalitesini yükseltmek amacıyla tasarlanmıştır.

## Uyumluluk

- **Python Versiyonu**: 3.8+
- **Platform Desteği**: Tüm platformlar
- **Kullanım Alanları**: FastAPI servisleri, veri işleme pipeline'ları, model tabanlı uygulamalar

## Özellikler

- ✅ Ortam değişkenlerini `.env` dosyasından yükleyebilme (`ConfiguratorEnvironment`)
- ✅ Dosyaya ve konsola loglama yapan, thread-safe `LoggerManager`
- ✅ Fonksiyonları çalışma süresine göre profilleyen `Profiler`
- ✅ Hugging Face üzerinde model ve veri yükleme/indirme işlemleri yapan `HuggingFaceHelper`
- ✅ Açık kaynak, genişletilebilir yapı

## Kurulum

### Pip ile Kurulum

```bash
pip install openbuffet-toolkit
```

### Geliştirme Modunda Kurulum

```bash
git clone https://github.com/ferdikurnazdm/openbuffet_toolkit.git
cd openbuffet_toolkit
pip install -e .
```

## Kullanım Örnekleri

### LoggerManager Kullanımı

```python
from openbuffet_toolkit.logger import LoggerManager

logger = LoggerManager().get_logger()
logger.info("Sistem başlatıldı.")
```

### Ortam Değişkenlerini Yükleme

```python
from openbuffet_toolkit.configurator import ConfiguratorEnvironment

config = ConfiguratorEnvironment()
api_key = config.get("API_KEY")
```

### Profiler Dekoratörü

```python
from openbuffet_toolkit.profiler import Profiler

@Profiler.time_taken(label="DEBUG: ")
def iş_yap():
    # İşlem kodları
    pass
```

### HuggingFaceHelper ile Model Yönetimi

```python
from openbuffet_toolkit.hfhelper import HuggingFaceHelper

hf = HuggingFaceHelper(
    hf_username="kullaniciadi",
    hf_token="hf_abc123",
    hf_reponame="proje-adi",
    local_dir="./model"
)

# Repository oluştur
hf.create_repo_if_not_exist()

# Dosya yükle
hf.upload_file("model_bundle.joblib")

# Dosya indir
hf.download_file("model_bundle.joblib", local_dir="./indirilenler")
```

## Testler

Projeyi test etmek için:

```bash
pytest tests/
```

## Katkı ve İletişim

Bu proje açık kaynaklıdır ve katkılara açıktır. Geri bildirim veya katkı için lütfen GitHub üzerinden issue oluşturun veya pull request gönderin.

- **E-posta**: ferdikurnazdm@gamil.com
- **GitHub**: https://github.com/ferdikurnazdm/openbuffet_toolkit

## Lisans

Bu proje [MIT Lisansı](LICENSE) ile lisanslanmıştır.
