v0.10.0 — EVDS (TCMB Elektronik Veri Dağıtım Sistemi)
TCMB EVDS3 modülü — yfinance benzeri makro veri erişimi
TCMB EVDS sistemine erişim için yeni modül. Eski evds2.tcmb.gov.tr REST API'si 2025 sonunda kapatıldı (302→SPA HTML), PyPI'daki tüm evds* paketleri kırıldı. Bu modül yeni v3 backend'i (/igmevdsms-dis/...) wrap ediyor; 145 kategori, on binlerce makro seri için yfinance benzeri arayüz sağlar.
Hızlı Başlangıç
import borsapy as bp
bp.set_evds_key("YOUR_API_KEY") # ücretsiz: https://evds3.tcmb.gov.tr
# Tek satır seri çekme
df = bp.evds_series("TP.DK.USD.A.YTL", period="1y") # USD/TRY günlük
df = bp.evds_series("TP.FG.J0", period="3y", formula="yoy_pct") # TÜFE yıllık enflasyon
# Çoklu seri (wide DataFrame)
df = bp.evds_download(["TP.DK.USD.A.YTL", "TP.DK.EUR.A.YTL"], period="6mo")
# Katalog navigasyonu (anonim — key gerekmez)
ev = bp.EVDS()
ev.categories # 145 kategori
ev.search("dolar") # client-side fuzzy arama
ev.search_server("dolar") # TCMB server-side full-text
ev.home_page_dashboards() # 10 hazır TCMB panosu
ev.datagroup_data("bie_dkdovizgn") # 137 günlük döviz serisi tek çağrıdaYeni Public API
bp.EVDS()— 11 metod:categories,datagroups,series_in_group,search,search_server,series,dashboard,dashboard_by_id,home_page_dashboards,datagroup_data,announcementsbp.EVDSSeries('TP.DK.USD.A.YTL')—info,range,native_frequency,datagroup,history(period/start/end/frequency/aggregation/formula/decimals/decimal_separator)- Module shortcuts:
evds_series,evds_download,evds_categories,evds_search - API key yönetimi:
set_evds_key,get_evds_key,clear_evds_key(veyaEVDS_API_KEYenv var)
Kritik Özellikler
- 1000-gözlem auto-chunking — 10+ yıllık günlük seriler tek çağrıda gibi davranır (TCMB silently 1000'de keserdi)
end=None→01-01-2999— TCMB-tavsiyesi always-current sentinel- Frekans normalizasyonu — legacy v2 (9/13/16/18) ↔ v3 (1..8) otomatik
- Dot↔underscore kod dönüşümü — kullanıcı
TP.DK.USD.A.YTLveyaTP_DK_USD_A_YTLverebilir - snake_case enum'lar:
frequency=\"daily\"|\"monthly\"|...,formula=\"level\"|\"yoy_pct\"|...,aggregation=\"avg\"|\"last\"|... - Browser-like headers + cookie sticky session — gateway kabul etsin
- Cache TTL: katalog 24 saat, veri 5 dakika
- Resmi REST katalog endpoint yedekleri (key'li):
get_categories_rest,get_datagroups_rest,get_series_list_rest - CSV/XML çıktı formatı desteği (
output_format, provider seviye) - TCMB ana sayfa 10 panosu — Rezervler, Cari İşlemler, Portföy, Parasal Büyüklükler, Kart Harcamaları, TÜFE, Borç-GSYİH, FX Mevduat, TL Faiz, Brüt Dış Borç
Mevcut Modüllerle İlişki
bp.Inflation() ve bp.TCMB() modülleri (HTML scraping) yan yana yaşıyor (geriye uyumluluk). EVDS daha kapsamlıdır; yeni kodlarda tercih edilmeli.
Test ve Dokümantasyon
- 58 unit test + 10 integration test (anonim live + REST live)
- README'de 38 EVDS örneği — hepsi gerçek API ile doğrulandı
- pdoc API dokümantasyonu yenilendi (
docs/borsapy.html)
Reverse Engineering Detayları (Geliştirici Notları)
- v3 backend'i SPA bundle'ı reverse engineering ile çıkarıldı
- TCMB resmi Web Servis kılavuzu (paylaşılan PDF) ile path-style URL kontratı doğrulandı
fatihmete/evdsv0.4.0 referans alındı (key-tabanlı REST yolu)- Bütün dokümante endpoint'ler bizim wrap'imizde mevcut
🤖 Generated with Claude Code