evdsts

The Purpose
evdsts
is a Python implementation for retrieving and transforming macroeconomic time series data from
The Central Bank of Republic of Türkiye Electronic Data Delivery System (EDDS) API.
evdsts
is designed for making both data retrieving and also time series analysis easy thanks to its
time series analysis ready outputs and other useful transformations.
The Overview
evdsts
is mainly designed for preparing the time series analysis ready datasets from the data
retrieved from EDDS. evdsts
both makes the data retrieving easy and also allows you to start
working on data instantly with its advanced features that gives you complete control over the
retrieved data.
evdsts
is consisted of two important classes:
The Connector
: Responsible for processes such as; connecting to EDDS, data retrieving, data
renaming, etc.The Transformator
: Works co-integrated with the Connector
and responsible for making some
useful transformations which can provide you a preliminary undestanding about the series you're
dealing with.
Some key features of evdsts
are listed below:
evdsts
can perform instant transformations on retrieved data thanks to its Transformator
class.
The Transformator is designed to co-work with Connector
and perform a set of frequently used
transformations on retrieved data such as; z-score calculation, dummy series creation, outliers
detection, differentiation and others.- You can search series by keywords in
evdsts
without any need for visiting EDDS website to find
series definitions you would like to retrieve from the service. Searches are done locally and gives
you instant results. evdsts
ensures that all returned data can be used for mathematical operations instantly. That
guarantees no any string
type is returned for a data type which actually represents a datetime
,
float
or int
type.- All retrieved data are converted to real time series automatically (optional, can be disabled)
- Requesting data from the API doesn't require remembering the complex series names definitions of
the original EDDS database to retrieve them.
evdsts
allows you to assign meaningful names to
the series such as; cppi, ir, gdp and usdtry, and these assigned names can be used when
retrieving data from the EDDS later on. User assigned names are called reference names, and they
are permanent once they are assigned to series unless they're changed or deleted. Additionally,
current reference names in a project can be transferred to new projects easily. - All parameters belong to transformation and aggregation functions and frequencies are renamed in
a meaningful manner like
daily
, quarterly
, percent
, diff
, max
, etc. and these definitions
are used as parameters for retrieving data from the API service. Therefore, there is no need to know
original API's complex parameter definitions for transformation or aggregation functions or time
series frequencies anymore. evdsts
detects many kinds of errors and warns you before a connection request is made.
This allows you to know why the data would not be able to be retrieved with provided parameters, or,
about emerged ambiguities which are arisen from the provided parameter sets.evdsts
allows you to make useful data transformations such as higher order differentiations
or log-returns that are originally not supported by the API, but is used for time series analysis
frequently.- All types of retrieved data can be returned in
DataFrame
, JSON
or dict
types optionally. - All retrieved data can be written on disk in
JSON
, CSV
and XLS
formats in order to store and
use them later, or in other softwares such as R, EViews, SAS or RATS. - All functions and class methods are fully annotated and you can get peak hints for everything you
need to use while working with Spyder IDE, Pycharm, VS Code or Jupyter.
- All types in source code are annotated (and commented) to make working easy on source code for
developers.
Documentation
Please see THE USER MANUAL for detailed explanations about how to get an API key from the EDDS and use evdsts
Examples 
Please download the Jupyter Notebook Application that covers the main use cases of evdsts
,
or alternatively open it on Google Colab by clicking the Open in Colab link above.
Dependencies
evdsts
is a Python 3 only project and depends on below packages:
- cpython >= 3.8.0 (or equivalent PyPy distribution)
- pandas >= 2.0.0
- requests >= 2.12.0
Additional Requirements
openpyxl is required if you would like to write data on disk
in MS Excel format. openpyxl is not required if you don't think working with MS Excel files.
Installation
Stable version of evdsts
is available on GitHub, PyPI and conda-forge and can be installed
following one of the below ways:
PyPI
pip install evdsts
GitHub
pip install git+https://github.com/syncoding/evdsts.git
Conda
conda install evdsts -c conda-forge
Source Code
GitHub
Changelog
Changelog
License
MIT
Contact
