Skip to main content

A utility toolkit including logging, configuration, HuggingFace helpers and more.

Project description

OpenBuffet Toolkit

GitHub Tag PyPI - Version GitHub License GitHub code size in bytes

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

pip install openbuffet-toolkit

Geliştirme Modunda Kurulum

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

Kullanım Örnekleri

LoggerManager Kullanımı

from openbuffet_toolkit.logger import LoggerManager

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

Ortam Değişkenlerini Yükleme

from openbuffet_toolkit.configurator import ConfiguratorEnvironment

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

Profiler Dekoratörü

from openbuffet_toolkit.profiler import Profiler

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

HuggingFaceHelper ile Model Yönetimi

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")

TextOps ile Metin İşleme

from openbuffet_toolkit.textops import TextOps

Türkçe karakterleri ASCII'ye çevirme

text = "Çok güzel bir gün! Şöyle böyle..."
clean_text = TextOps.transliterate_turkish(text)
print(clean_text)  # "Cok guzel bir gun! Soyle boyle..."

Unicode normalizasyon

normalized = TextOps.normalize_unicode("Café naïve résumé")

Noktalama işaretlerini kaldırma

no_punct = TextOps.remove_punctuation("Merhaba, dünya!")
print(no_punct)  # "Merhaba dünya"

Boşlukları düzenleme

clean_spaces = TextOps.simplify_spaces("Çok    fazla\n\nboşluk\t\tvar")
print(clean_spaces)  # "Çok fazla boşluk var"

Tümünü bir arada temizleme

messy_text = "  Çağdaş    Türkiye'de...  teknoloji!!!  \n\n"
clean_result = TextOps.clean(
    messy_text,
    use_transliterate=True,    # Türkçe karakterleri çevir
    use_unicode=True,          # Unicode normalize et
    use_punctuation=True,      # Noktalama kaldır
    use_spaces=True,           # Boşlukları düzenle
    strip_result=True          # Baş/son boşlukları temizle
)
print(clean_result)  # "Cagdas Turkiyede teknoloji"

MSSQLHelper ile Veritabanı İşlemleri

from openbuffet_toolkit.tool_database import MSSQLHelper

db = MSSQLHelper(
    server="localhost",
    database="TestDB",
    user="sa",
    password="Password123",
    trusted_connection=False
)

# Veri çekme
rows = db.execute_query("SELECT * FROM Users WHERE IsActive = ?", [1])

# Veri ekleme
db.execute_non_query("INSERT INTO Users (Name, IsActive) VALUES (?, ?)", ["Ali", 1])

# Procedure çalıştırma
result = db.execute_stored_procedure("sp_GetActiveUsers")

db.close()

Testler

Projeyi test etmek için:

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.

Lisans

Bu proje MIT Lisansı ile lisanslanmıştır.

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

openbuffet_toolkit-0.3.3.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

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

openbuffet_toolkit-0.3.3-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file openbuffet_toolkit-0.3.3.tar.gz.

File metadata

  • Download URL: openbuffet_toolkit-0.3.3.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for openbuffet_toolkit-0.3.3.tar.gz
Algorithm Hash digest
SHA256 12e7d6a07fe0a522f4f5442ba9fc429eb3345f42737d72d1a26ab77b63ca83a9
MD5 b27d24166f306ec9e193d36ec6d64e95
BLAKE2b-256 9862e89cf1662c21d8f97f2783a6e1ebe8395a639dcc3f7ebce9f37ea81fdf59

See more details on using hashes here.

File details

Details for the file openbuffet_toolkit-0.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for openbuffet_toolkit-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8ef89c8a919670fa9f0248f319fc01bfcb74f60a3eb2eb0b5ee01fe2caf8053f
MD5 3ed684cf420990854259fefe9f091333
BLAKE2b-256 ca2716fcf21d38dbe9bd9ecfd82b7cb701f9f7e69aa5685f31d420b3a528550c

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