Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🦅 Bürküt Finans SDK

Borsa İstanbul (BIST - 15 Dk Gecikmeli), TEFAS Fonları, Döviz ve Altın İçin Açık Kaynak Araştırma Kütüphanesi

Release PyPI npm Python Node.js TypeScript License: MIT API Status

DokümantasyonWeb SitesiAPI Anahtarı AlPostman Koleksiyonu


📌 Neden Bürküt SDK?

Türkiye finansal piyasalarında veri çekmek için geliştiriciler yıllarca dengesiz HTML scraping araçlarıyla ya da sürekli IP ban yiyen botlarla uğraşmak zorunda kaldı.

Bürküt SDK, Türkiye finansal veri ekosistemini (15 dk gecikmeli BIST pay piyasası, TEFAS yatırım fonları, serbest piyasa döviz ve altın) tek bir standart çatı altında, sıfır dış bağımlılık (Zero-Dependency) ile geliştiricilere ve veri araştırmacılarına sunan açık kaynaklı bir kütüphanedir.

⚔️ Karşılaştırma Tablosu

Özellik 🦅 Bürküt SDK yfinance borsapy / pytefas Web Scrapers
BIST 100 / Tüm Hisseler ⏱️ 15 Dk Gecikmeli ⏱️ 15 Dk Gecikmeli ⚠️ Kırılgan Scraping ❌ Çok Yavaş
TEFAS Yatırım Fonları ✅ Halka Açık Veri API ❌ Desteklenmiyor ⚠️ Yalnızca Fonlar ⚠️ IP Ban Riski
Altın & Döviz ✅ Piyasa Kurları ⚠️ Sınırlı Pariteler ⚠️ Karışık Kaynaklar ❌ Bakım Zor
VİOP & Tahvil / Bono ✅ Eksiksiz ❌ Yok ❌ Yok ❌ Yok
Dış Bağımlılık (Dependencies) 🚀 0 Bağımlılık ❌ 10+ Kütüphane ❌ Pandas/BS4 Şart ❌ Selenium/BS4
Tip Güvenliği (Type-Safe) ✅ Tam Type Hints / .d.ts ❌ Zayıf ⚠️ Kısmi ❌ Yok
TypeScript / Node.js ✅ Açık Kaynak SDK ❌ Sadece Python ❌ Sadece Python ❌ Manuel
Kesinti & Patlama Riski 🛡️ Minimum (REST API & Cache) ⚠️ Yahoo UI Değişince ⚠️ Kaynak HTML Değişince 🚨 Çok Yüksek

📦 Kurulum

Python (3.8+)

pip install burkut

Node.js / TypeScript (18+)

npm install burkut
# veya
pnpm add burkut

⚡ 30 Saniyede Hızlı Başlangıç

🐍 Python İle Kullanım

from burkut import BurkutClient

# API anahtarınız ile istemciyi başlatın
# (Veya BURKUT_API_KEY ortam değişkenine atayın)
client = BurkutClient(api_key="bk_live_...")

# 1. BIST Hisse Senedi Fiyatı & Hacmi
thyao = client.stocks.get("THYAO")
print(f"{thyao['name']}: {thyao['price']} TL (Değişim: %{thyao['changePercent']})")

# 2. TEFAS Yatırım Fonu Analizi
tcd = client.funds.get("TCD")
print(f"Fon: {tcd['name']} - Fiyat: {tcd['price']} TL")

# 3. Döviz & Altın Piyasası
usd = client.forex.get("USD")
altin = client.gold.get("ALTIN")
print(f"Dolar: {usd['buyRate']} TL | Gram Altın: {altin['price']} TL")

⚡ Node.js / TypeScript İle Kullanım

import { BurkutClient } from 'burkut';

const client = new BurkutClient({ apiKey: 'bk_live_...' });

async function main() {
  // BIST Hisseleri (15 Dk Gecikmeli)
  const stock = await client.stocks.get('GARAN');
  console.log(`${stock.name}: ${stock.price} TL`);

  // TEFAS Yatırım Fonu
  const fon = await client.funds.get('AFT');
  console.log(`Fon Fiyatı: ${fon.price} TL`);

  // Tüm Döviz Kurlarını Listele
  const allForex = await client.forex.list();
  console.log(`Takip Edilen Kur Sayısı: ${allForex.length}`);
}

main();

📊 Algoritmik Ticaret & Pandas Entegrasyonu (Finans Analistleri İçin)

Veri bilimcileri ve algoritmik trade botu geliştirenler için Bürküt SDK, tek satırda Pandas DataFrame'e dönüştürülebilir:

import pandas as pd
from burkut import BurkutClient

client = BurkutClient()

# Tüm BIST hisselerini DataFrame'e al
stocks_df = pd.DataFrame(client.stocks.list())

# En çok yükselen ilk 5 BIST hissesi
top_gainers = stocks_df.sort_values(by="changePercent", ascending=False).head(5)
print(top_gainers[["symbol", "name", "price", "changePercent"]])

🤖 Otomasyon & Bot Örneği (Telegram / Discord Fiyat Uyarı Botu)

Dakikalar içinde hisse ve altın fiyatı gönderen bir Telegram botu yazın:

import time
from burkut import BurkutClient

client = BurkutClient()

def fiyat_kontrol():
    thyao = client.stocks.get("THYAO")
    altin = client.gold.get("ALTIN")
    
    mesaj = (
        f"🚨 PİYASA BİLGİLENDİRMESİ 🚨\n\n"
        f"✈️ THYAO: {thyao['price']} TL (%{thyao['changePercent']})\n"
        f"🟡 Gram Altın: {altin['price']} TL"
    )
    print(mesaj)

fiyat_kontrol()

🛡️ Hata Yönetimi & Dayanıklılık (Error Handling)

SDK, ağ kopmalarını ve limit aşımlarını otomatik yakalayan tip güvenli istisna sınıflarıyla gelir:

from burkut import (
    BurkutClient,
    AuthenticationError,
    RateLimitError,
    QuotaExceededError,
    NotFoundError
)

client = BurkutClient()

try:
    data = client.stocks.get("THYAO")
except AuthenticationError:
    print("Geçersiz API Anahtarı! https://burkutportfoy.com/developer adresinden yenisini alın.")
except RateLimitError as e:
    print(f"Dakikalık hız sınırı aşıldı. Lütfen {e.retry_after} saniye sonra tekrar deneyin.")
except QuotaExceededError:
    print("Aylık kota bitti. PRO plana geçiş yapın!")
except NotFoundError:
    print("Sembol bulunamadı.")

📂 Dizin Yapısı

burkut-sdks/
├── python/               # Python SDK (pip install burkut)
│   ├── burkut/           # Client, Exception sınıfları ve alt modüller
│   ├── tests/            # %100 kapsamlı birim testleri
│   └── pyproject.toml    # Standart PyPI paket konfigürasyonu
│
├── nodejs/               # Node.js & TypeScript SDK (npm install burkut)
│   ├── src/              # TypeScript kaynak kodları
│   ├── dist/             # Derlenmiş CJS & ESM modülleri (.d.ts tipleriyle)
│   ├── test/             # Yerleşik Node.js birim testleri
│   └── package.json      # Standart npm paket konfigürasyonu
│
└── .github/workflows/    # CI/CD: Çoklu versiyon otomatik test akışı

🔑 Ücretsiz API Anahtarı Nasıl Alınır?

  1. https://burkutportfoy.com/register adresinden ücretsiz hesap oluşturun.
  2. E-posta adresinizi doğrulayın.
  3. Geliştirici Portalı sayfasından Yeni Anahtar Oluştur butonuna tıklayın.
  4. bk_live_... formatındaki anahtarınızı kopyalayıp SDK'da kullanın!

🤝 Katkıda Bulunma & Topluluk

  1. Bu depoyu Fork'layın (fork).
  2. Kendi özelliğinizi geliştirin (git checkout -b feature/yeni-ozellik).
  3. Değişikliklerinizi commit'leyin (git commit -m 'feat: Yeni özellik eklendi').
  4. Dalınıza push'layın (git push origin feature/yeni-ozellik).
  5. Bir Pull Request açın.

⚖️ Yasal Uyarı & Feragatname (Disclaimer)

Önemli Yasal Bilgilendirme: Bu kütüphane ve sağlanan API, tamamen eğitim, kişisel araştırma ve hobi amaçlı geliştirilmiştir.

  • Resmi Veri Sağlayıcısı Değildir: Bürküt bir borsa aracı kurumu, yatırım kuruluşu veya lisanslı borsa veri dağıtıcısı değildir.
  • 15 Dakika Gecikmeli Veri: Borsa İstanbul (BIST) pay piyasası verileri yasal düzenlemeler gereği en az 15 dakika gecikmelidir.
  • Yatırım Tavsiyesi Değildir: Burada veya kütüphane aracılığıyla sunulan veriler hiçbir şekilde yatırım danışmanlığı, al-sat tavsiyesi veya finansal yönlendirme içermez.
  • Garanti Taahhüt Edilmez: Veriler üçüncü taraf halka açık kaynaklardan derlenmektedir ve doğruluğu, eksiksizliği veya kesintisizliği taahhüt edilmez.

📄 Lisans

Bu proje MIT Lisansı ile lisanslanmıştır. Detaylar için LICENSE dosyasına bakabilirsiniz.


Bürküt Finansal Veri Teknolojileri tarafından geliştiriciler için ❤️ ile üretilmiştir.

About

Borsa İstanbul (BIST 100), TEFAS Fonları, Canlı Altın ve Döviz Verileri İçin Resmi Python ve Node.js SDK Kütüphanesi 🚀

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages