Skip to main content

TEFAS (Türkiye Elektronik Fon Alım Satım Platformu) için modern Python istemcisi - yeni resmi API'leri kullanır.

Project description

pytefas

PyPI version Python versions License: MIT canary

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_price
  • columns="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

pytefas-0.2.1.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

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

pytefas-0.2.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

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

Hashes for pytefas-0.2.1.tar.gz
Algorithm Hash digest
SHA256 3bc4209d5e9edb5b14f8fbfbf2e49ee22b0b8a39989682fada9d426a17cbbb25
MD5 c7e2b7f11060d6655736887014542f58
BLAKE2b-256 bf343f44f4ef6e574b8b5f6d1495db3b6ef5a75138aa7bf209e2f47303360239

See more details on using hashes here.

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

Hashes for pytefas-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 93ce25d2b7fb6120092d4c8340c531bfb6434f179aa115dafdebf16657696b30
MD5 3a862fe9797a4be7916babaa12d05831
BLAKE2b-256 5078929dbaf3f3020e351a6dd75046d2403365f0c9aba69698edb4d5bd594e3f

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