New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

evds

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

evds

EVDS python wrapper

  • 0.3.2
  • PyPI
  • Socket score

Maintainers
1

EVDS

English

EVDS paketi EVDS-API üzerinden Türkiye Cumhuriyet Merkez Bankası (TCMB) tarafından Elektronik Veri Dağıtım Sistemi (EVDS) aracılığıyla yayımlanan tüm istatistiki verilere python aracılığıyla erişmenize imkan sağlar.

EVDS paketi resmi bir paket olmayıp açık kaynak kodlu olarak geliştirilmektedir.

Kurulum

evds paketini pip paket yöneticisi aracılığıyla kurabilirsiniz:

pip install evds --upgrade

Yenilikler

0.3 sürümü ile aşağıdaki değişiklikler yapıldı:

  1. SSL hatalarının giderilmesi için legacySSL parametresi eklendi. PR #8
  2. Kod içerisinde düzeltmeler yapıldı. PR #6 PR #4
  3. request session'un açık kalması nedeniyle ortaya çıkan ResourceWarning uyarısı giderildi. PR #4
  4. Pandas DataFrame numeric tiplere cast ederken ortaya çıkan FutureWarning uyarıları çıkıyordu. Bu sorun giderildi. PR #9

0.2 sürümü ile birlikte aşağıdaki özellikler eklenmiştir:

  1. get_data, get_sub_categories ve get_series fonksiyonlarına, raw parametresi eklendi. Bu parametre True olarak tanımlandığında ilgili verilere dictionary formatında erişebilirsiniz.
  2. Çeşitli hatalar giderildi.

0.1.1 sürümü ile birlikte aşağıdaki özellikler eklenmiştir:

  1. formulas parametresindeki hata giderildi.

0.1.0 sürümü ile birlikte aşağıdaki özellikler eklenmiştir:

  1. API üzerinden erişilemeyen serilere ilişkin EVDS'de yapılan güncellemeye paralel olarak tüm serilere erişim olanağı sağlanmıştır.
  2. Proxy desteği eklenmiştir.
  3. Küçük hatalar giderildi

Kullanım

Örnek kullanım, 01-01-2019 - 01-01-2020 arası USD ve EUR alış kurlarına aşağıdaki şekilde erişilebilir.

from evds import evdsAPI
evds = evdsAPI('EVDS_API_ANAHTARI')
evds.get_data(['TP.DK.USD.A.YTL','TP.DK.EUR.A.YTL'], startdate="01-01-2019", enddate="01-01-2020")

get_data fonksiyonu DataFrame return edecektir. İstenmesi halinde raw=True parametresi ile dictionary formatında ham veriye ulaşılabilir.

API Anahtarı Alma

evds paketini kullanmak için öncelikle EVDS sistemi üzerinden API Anahtarı almanız gerekmektedir. API Anahtarı almak için aşağıdaki adımları izleyiniz:

  1. EVDS sayfasına giriş yaptıktan sonra Giriş Yap ve Kayıt Ol bağlantılarını izleyerek bir EVDS hesabı oluşturun.
  2. Ardından kullanıcı adınızın altında yer alan profil bağlantısına tıklayınız.

01

  1. Profil sayfanızın alt kısmında yer alan "API Anahtarı" butonuna tıklayınız ve açılan kutucukta yer alan değeri kopyalayınız.

02

Detaylı Sorgulama

get_data fonksiyonu aşağıdaki parametreleri alır:

series

Bu parametre liste olarak tanımlanmalıdır. Ayrıca birden fazla seri bu liste içerisinde tanımlanabilir. Tanımlanması zorunludur.

startdate

Seride yer alan verilerin hangi tarihten itibaren seçileceği bu parametre ile belirlenir. Tanımlanması zorunludur.

enddate

Eğer seri üzerinde bir aralık seçimi yapılmak isteniyorsa aralığın bitiş tarihi bu parametre ile belirtilir. Tanımlanması ihtiyaridir. Tanımlanmadığı durumda startdate değerine eşit olarak tanımlanır.

raw

True olması halinde fonksiyon talep edilen veriyi DataFrame yerine dictionary return eder. Örnek kullanım:

...
evds.get_data(['TP.DK.USD.A.YTL','TP.DK.EUR.A.YTL'], startdate="01-01-2019", enddate="01-01-2020", raw=True)
aggregation_types

Seri içindeki verilerin getirilmesi esnasında kullanılacak olan toplululaştırma yöntemini ifade eder. Tanımlanması ihtiyaridir. Eğer tanımlanmamışsa seri için tanımlanan öntanımlı yöntem kullanılır. Ayrıca değer olarak string veya liste alabilir. String alması durumunda tüm seriler için aynı yöntem uygulanır. Liste olarak tanımlanırsa series parametresinde tanımlanan serilere sırasıyla belirtilen yöntemler uygulanır. Kullanılabilecek yöntemler aşağıdaki gibidir:

YöntemParametre Değeri
Ortalamaavg
En düşükmin
En yüksekmax
Başlangıçfirst
Bitişlast
Kümülatifsum
formulas

Seri içindeki verilerin getirilmesi esnasında uygulanacak formülü ifade eder. Tanımlanması ihtiyaridir. Eğer tanımlanmamışsa seri için tanımlanan öntanımlı formül kullanılır. Ayrıca değer olarak string veya liste alabilir. String alması durumunda tüm seriler için aynı formül uygulanır. Liste olarak tanımlanırsa series parametresinde tanımlanan serilere sırasıyla belirtilen formüller uygulanır. Kullanılabilecek yöntemler aşağıdaki gibidir:

FormülDeğer
Düzey (Öntanımlı)0
Yüzde Değişim1
Fark2
Yıllık Yüzde Değişim3
Yıllık Fark4
Bir Önceki Yılın Sonuna Göre Yüzde Değişim5
Bir Önceki Yılın Sonuna Göre Fark6
Hareketli Ortalama7
Hareketli Toplam8

API formula parametresi uygulandığında orijinal değerleri None olarak yanıtladığı için, formula parametresi tanımladığınız serinin orijinal değerlere ulaşmak için aynı seriyi tekrar ekleyiniz ve formula parametresini 0 olarak tanımlayınız. Örneğin

evds.get_data(['TP.DK.USD.A.YTL','TP.DK.USD.A.YTL'],
              startdate="01-01-2019",
              enddate="01-01-2020",
              formulas=[1,0],
                )

USD için yüzde değişim ve orijinal değerlere aynı anda yukarıdaki gibi ulaşabilirsiniz.

frequency

Seri içerisinde yer alan verilerin hangi sıklıkla getireceğini ifade eder. Tanımlanması ihtiyaridir. Eğer tanımlanmamışsa seri için tanımlanan öntanımlı yayımlanma sıklığı kullanılır.Aşağıdaki değerleri alabilir.

SıklıkDeğer
Günlük1
İşgünü2
Haftalık3
Ayda 2 Kez4
Aylık5
3 Aylık6
6 Aylık7
Yıllık8

Mevcut Serileri Listeleme

EVDS üzerinde veri serileri sırasıyla Ana Kategori, Alt Kategori ve Seri hiyerarşisinde sunulmaktadır.

get_data fonksiyonun kullanılması için aşağıda yer alan işlemlerin gerçekleştirilmesine gerek yoktur. Veri serisine ait kodun bilinmesi durumunda doğrudan get_data fonksiyonu kullanılabilir.

Ana kategorileri listeleme

main_categories değişkeni ile ana kategorileri listeleyebilirsiniz.

...
evds.main_categories

komut ile ana kategorileri listeleyebilirsiniz.

CATEGORY_IDTOPIC_TITLE_TR
1PİYASA VERİLERİ
2KURLAR
3FAİZ İSTATİSTİKLERİ
4PARA VE BANKA İSTATİSTİKLERİ
......

Alt kategorileri listeleme

Ana kategori altında yer alan alt kategorilere aşağıdaki şekilde ulaşabilirsiniz. Ayrıca raw=True parametresi ile DataFrame yerine dictionary formatında alt kategorileri ulaşılabilir.

evds.get_sub_categories('Ana kategori ID'si veya Adı')

Örnek kulllanım;

...
evds.get_sub_categories(6)
CATEGORY_IDDATAGROUP_CODEDATAGROUP_NAME
6bie_dbafodDış Borç Anapara ve Faiz Ödemeleri ile Diğer T...
6bie_dbdborcDış Borçlar-Brüt (Hazine ve Maliye Bakanlığı)
6bie_kvdbsKısa Vadeli Dış Borç Stoku (milyon ABD doları)
6bie_ysskÖzel Sektörün Yurt Dışından Sağladığı Uzun Vad...

Yukarıda yer alan örnekte 6'nolu kategori altında yer alan alt kategoriler listelenmiştir. Ayrıca get_sub_categories fonksiyonunda CATEGORY_ID yerine doğrudan ana kategori adı ile kullanabilirsiniz. Örneğin

...
evds.get_sub_categories("KURLAR")

Serileri listeleme

Alt kategori altında yer alan veri serilerine aşağıdaki şekilde ulaşabilirsiniz. Ayrıca raw=True parametresi ile DataFrame yerine dictionary formatında serilere ulaşılabilir.

evds.get_series('Alt kategori adı')

Örnek kulllanım;

...
evds.get_series('bie_dbdborc')
SERIE_CODESERIE_NAMESTART_DATE
TP.DB.B011:TÜRKİYE BRÜT DIŞ BORÇ STOKU01-10-1989
TP.DB.B022:KISA VADELİ BORÇLAR (Borçluya Göre)01-10-1989
TP.DB.B032A:KAMU (Borçluya Göre)01-10-1989
TP.DB.B042A1:GENEL YÖNETİM (Borçluya Göre)01-10-1989
TP.DB.B052A1a:Merkezi Yönetim01-10-1989

get_data() fonksiyonu aracılığıyla SERIE_CODE'u kullanarak serilere ait verilere ulaşabilirsiniz.

Proxy Tanımlama

Proxy adresinizi aşağıdaki gibi proxies parametresi ile tanımlayabilirsiniz. Ayrıca httpsVerify parametresi ile https kontrolünü devre dışı bırakabilirsiniz.

proxies = { "https" : "HTTPS_PROXY_URL"}
evds = evdsAPI('EVDS_API_ANAHTARI', proxies=proxies, httpsVerify=False)

SSLError Hatası çözümü

Sunucu sertifikası ve kullanılan python paketlerinden kaynaklı olarak SSL hatası alınabilmektedir. Bu hata durumunda legacySSL parametresi kullanılabilir:

evds = evdsAPI('EVDS_API_ANAHTARI', legacySSL=True)

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc