TEFAS (Türkiye Elektronik Fon Alım Satım Platformu) için modern Python istemcisi - yeni resmi API'leri kullanır.
Project description
pytefas
TEFAS (Türkiye Elektronik Fon Alım Satım Platformu) için modern Python istemcisi.
Yeni TEFAS sitesinin (Next.js tabanlı, 2026'da yenilendi) doğrudan resmi API endpoint'lerini kullanır. Authorization, login veya API anahtarı gerektirmez.
API endpoints
https://www.tefas.gov.tr/api/funds/fonGnlBlgSiraliGetir- fund info (price / shares / size)https://www.tefas.gov.tr/api/funds/dagilimSiraliGetirT- portfolio breakdown
Kurulum
pip install pytefas
Kullanım
Tek bir gün, fiyat bilgisi
from pytefas import Crawler
tefas = Crawler()
df = tefas.fetch("2026-04-24", columns="info", kind="YAT")
print(df.head())
date kind fund_code fund_name price shares_outstanding investor_count portfolio_size
0 2026-04-24 YAT AAK ATA PORTFÖY ÇOKLU VARLIK DEĞİŞKEN FON 35.46418 999934.0 769.0 35461839.75
1 2026-04-24 YAT AAL ATA PORTFÖY PARA PİYASASI (TL) FONU ...
Portföy varlık dağılımı
df = tefas.fetch("2026-04-24", columns="breakdown", kind="YAT")
# Sütunlar: stock_pct, government_bond_pct, repo_pct, foreign_stock_pct, ...
Tarih aralığı
df = tefas.fetch(start="2026-04-22", end="2026-04-24", columns="info", kind="YAT")
Tüm fon tiplerini birlikte (YAT + EMK + BYF)
df = tefas.fetch_many("2026-04-24", columns="info")
# 'kind' sütunu YAT/EMK/BYF değerlerini içerir
Parametreler
Crawler.fetch(start, end=None, kind="YAT", columns="info")
| Parametre | Tip | Açıklama |
|---|---|---|
start |
str veya datetime |
Başlangıç tarihi ('YYYY-MM-DD' formatı). |
end |
str veya datetime veya None |
Bitiş tarihi. None = start ile aynı. |
kind |
"YAT", "EMK", "BYF" |
Fon tipi: Yatırım / Emeklilik / Borsa Yatırım Fonu. |
columns |
"info" veya "breakdown" |
Genel bilgi vs. portföy dağılımı. |
Dönen DataFrame
columns="info"→ 8 sütun:date, kind, fund_code, fund_name, price, shares_outstanding, investor_count, portfolio_size, exchange_bulletin_pricecolumns="breakdown"→ 50+ sütun: tüm varlık sınıflarının yüzdeleri (ör.stock_pct,repo_pct,foreign_stock_pct,precious_metals_pct, vs.)
Tatil/hafta sonu için boş DataFrame döner.
Rate limiting
TEFAS API'si dakikada 6 istek sınırına sahiptir. Paket bunu otomatik handle eder - limit aşılırsa bekler ve yeniden dener. Manuel bir şey yapmanıza gerek yok.
Stabilite
TEFAS API'si halen genel kullanıma açıktır ancak resmi olarak dokümante edilmemiştir. TEFAS site değişikliği yaparsa paket güncellenmesi gerekebilir - issue açın veya PR gönderin.
Lisans
MIT - bkz. LICENSE.
Katkı
Pull request'ler memnuniyetle karşılanır. Major değişiklikler için önce issue açıp tartışalım.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pytefas-0.2.1.tar.gz.
File metadata
- Download URL: pytefas-0.2.1.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bc4209d5e9edb5b14f8fbfbf2e49ee22b0b8a39989682fada9d426a17cbbb25
|
|
| MD5 |
c7e2b7f11060d6655736887014542f58
|
|
| BLAKE2b-256 |
bf343f44f4ef6e574b8b5f6d1495db3b6ef5a75138aa7bf209e2f47303360239
|
File details
Details for the file pytefas-0.2.1-py3-none-any.whl.
File metadata
- Download URL: pytefas-0.2.1-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93ce25d2b7fb6120092d4c8340c531bfb6434f179aa115dafdebf16657696b30
|
|
| MD5 |
3a862fe9797a4be7916babaa12d05831
|
|
| BLAKE2b-256 |
5078929dbaf3f3020e351a6dd75046d2403365f0c9aba69698edb4d5bd594e3f
|