Beispiel #1
0
def aof(baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
        bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
        rename_tr=True):
    """
    İlgili tarih aralığı için gün içi piyasası (GİP) saatlik ağırlıklı ortalama fiyat (AOF) bilgisini vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün)
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Saatlik Ağırlıklı Ortalama Fiyat (₺/MWh)
    """
    if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi,
                                                     bitis_tarihi):
        try:
            particular_url = \
                __first_part_url + "intra-day-aof" + "?startDate=" + baslangic_tarihi + "&endDate=" + bitis_tarihi
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["idmAofList"])
            df["Saat"] = df["date"].apply(lambda h: int(h[11:13]))
            df["Tarih"] = __pd.to_datetime(df["date"].apply(lambda d: d[:10]))
            if rename_tr:
                df.rename(index=str, columns={"price": "AOF"}, inplace=True)
                df = df[["Tarih", "Saat", "AOF"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #2
0
def __gerceklesen_santral(baslangic_tarihi, bitis_tarihi, santral):
    """
    İlgili tarih aralığı ve santral için gerçek zamanlı üretim bilgisini vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi
    santral_id       : metin yada tam sayı formatında santral id

    Geri Dönüş Değeri
    -----------------
    Santral Bazlı Gerçek Zamanlı Üretim("Tarih", "Saat", "Toplam")
    """
    try:
        particular_url = __first_part_url + "real-time-generation_with_powerplant" + "?startDate=" + \
                         baslangic_tarihi + "&endDate=" + bitis_tarihi + "&powerPlantId=" + str(santral["Id"])
        json = __make_requests(particular_url)
        df = __pd.DataFrame(json["body"]["hourlyGenerations"])
        df["Saat"] = df["date"].apply(lambda h: int(h[11:13]))
        df["Tarih"] = __pd.to_datetime(df["date"].apply(lambda d: d[:10]))
        df.rename(index=str, columns={"total": santral["Kısa Adı"]}, inplace=True)
        df = df[["Tarih", "Saat", santral["Kısa Adı"]]]
    except (KeyError, TypeError):
        return __pd.DataFrame()
    else:
        return df
Beispiel #3
0
def __kgup(baslangic_tarihi, bitis_tarihi, org):
    """
    İlgili tarih aralığı ve organizasyon için  kesinleşmiş günlük üretim prgoramı (KGÜP) bilgisini vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi
    org              : dict formatında organizasyon EIC Kodu, Kısa Adı

    Geri Dönüş Değeri
    -----------------
    Organizasyonel KGUP değerleri
    """
    if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi, bitis_tarihi):
        try:
            particular_url = __first_part_url + "dpp" + "?startDate=" + baslangic_tarihi + "&endDate=" + bitis_tarihi \
                             + "&organizationEIC=" + org["EIC Kodu"]
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["dppList"])
            df["Saat"] = df["tarih"].apply(lambda h: int(h[11:13]))
            df["Tarih"] = __pd.to_datetime(df["tarih"].apply(lambda d: d[:10]))
            df.rename(index=str, columns={"toplam": org["Kısa Adı"]}, inplace=True)
            df = df[["Tarih", "Saat", org["Kısa Adı"]]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #4
0
def uecm(baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
         bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d")):
    """
    İlgili tarih aralığı için saatlik Uzlaştırmaya Esas Çekiş Miktarı (UEÇM) bilgisini vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün)
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Uzlaştırmaya Esas Çekiş Miktarı (Tarih, Saat, UEÇM)

    """
    if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi,
                                                     bitis_tarihi):
        try:
            particular_url = __first_part_url + "swv" + "?startDate=" + baslangic_tarihi + "&endDate=" + bitis_tarihi
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["swvList"])
            df["Saat"] = df["date"].apply(lambda h: int(h[11:13]))
            df["Tarih"] = __pd.to_datetime(df["date"].apply(lambda d: d[:10]))
            df.rename(index=str, columns={"swv": "UEÇM"}, inplace=True)
            df = df[["Tarih", "Saat", "UEÇM"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #5
0
def organizasyon_veris_cekis_birimleri(eic):
    """
    İlgili eic değeri için Kesinleşmiş Gün Öncesi Üretim Planı (KGÜP) girebilecek olan organizasyonun uzlaştırmaya
    esas veriş-çekiş birim (UEVÇB) bilgilerini vermektedir.

    Parametreler
    ------------
    eic : metin formatında organizasyon eic kodu

    Geri Dönüş Değeri
    -----------------
    KGÜP Girebilen Organizasyonun UEVÇB Bilgileri(Id, Adı, EIC Kodu)
    """

    if __dogrulama.__kgup_girebilen_organizasyon_dogrulama(eic):
        try:
            particular_url = __first_part_url + "dpp-injection-unit-name?organizationEIC=" + eic
            json = __make_requests(particular_url)
            df_unit = __pd.DataFrame(json["body"]["injectionUnitNames"])
            df_unit.rename(index=str, columns={"id": "Id", "name": "Adı", "eic": "EIC Kodu"}, inplace=True)
            df_unit = df_unit[["Id", "Adı", "EIC Kodu"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df_unit
Beispiel #6
0
def gerceklesen(baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
                bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d")):
    """
    İlgili tarih aralığı için saatlik gerçek zamanlı tüketim bilgisini vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün)
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Gerçek Zamanlı Tüketim (Tarih, Saat, Tüketim)

    """
    if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi,
                                                     bitis_tarihi):
        try:
            particular_url = __first_part_url + "real-time-consumption" + "?startDate=" + baslangic_tarihi + \
                             "&endDate=" + bitis_tarihi
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["hourlyConsumptions"])
            df["Saat"] = df["date"].apply(lambda h: int(h[11:13]))
            df["Tarih"] = __pd.to_datetime(df["date"].apply(lambda d: d[:10]))
            df.rename(index=str,
                      columns={"consumption": "Tüketim"},
                      inplace=True)
            df = df[["Tarih", "Saat", "Tüketim"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #7
0
def __uecm_tedarik(tarih=__dt.datetime.today().strftime("%Y-%m-%d")):
    """
    İlgili tarihe tekabül eden uzlaştırma dönemi için tedarik yükümlülüğü kapsamındaki toplam Uzlaştırmaya Esas Çekiş
    Miktarı (UEÇM) bilgisini vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün)
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Tedarik Yükümlülüğü Kapsamındaki UEÇM (Tarih, Saat, UEÇM)

    """
    if __dogrulama.__tarih_dogrulama(tarih):
        try:
            particular_url = __first_part_url + "under-supply-liability-consumption" + "?startDate=" + tarih + \
                             "&endDate=" + tarih
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["swvList"])
            df["Dönem"] = df["date"].apply(lambda d: d[:7])
            df.rename(index=str,
                      columns={"swv": "Tedarik Yükümlülüğü Kapsamındaki UEÇM"},
                      inplace=True)
            df = df[["Dönem", "Tedarik Yükümlülüğü Kapsamındaki UEÇM"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #8
0
def ptf(baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
        bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
        rename_tr=True):
    """
    İlgili tarih aralığı için saatlik gün öncesi piyasası (GÖP) piyasa takas fiyatlarını (PTF) vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün)
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Saatlik PTF (₺/MWh)
    """
    if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi,
                                                     bitis_tarihi):
        try:
            particular_url = \
                __first_part_url + "day-ahead-mcp" + "?startDate=" + baslangic_tarihi + "&endDate=" + bitis_tarihi
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["dayAheadMCPList"])
            df["Saat"] = df["date"].apply(lambda h: int(h[11:13]))
            df["Tarih"] = __pd.to_datetime(df["date"].apply(lambda d: d[:10]))
            if rename_tr:
                df.rename(index=str, columns={"price": "PTF"}, inplace=True)
                df = df[["Tarih", "Saat", "PTF"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #9
0
def arz_talep_egrisi(
        tarih=__dt.datetime.today().strftime("%Y-%m-%d"), rename_tr=False):
    """
    İlgili tarih için saatlik arz-talep eğrisinde bulunan fiyat-miktar ikililerini vermektedir.
    Kabul edilen blok ve esnek tekliflerin eklenmiş halidir.

    Parametreler
    ------------
    tarih : %YYYY-%AA-%GG formatında tarih (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Arz-Talep Eğrisi Fiyat ve Alış/Satış Miktarı (₺/MWh, MWh)
    """
    if __dogrulama.__tarih_dogrulama(tarih):
        try:
            particular_url = \
                __first_part_url + "supply-demand-curve" + "?period=" + tarih
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["supplyDemandCurves"])
            df["Saat"] = df["date"].apply(lambda x: int(x[11:13]))
            if rename_tr:
                df.rename(index=str,
                          columns={
                              "demand": "Talep",
                              "supply": "Arz",
                              "price": "Fiyat"
                          },
                          inplace=True)
                df = df[["Saat", "Talep", "Fiyat", "Arz"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #10
0
def gercek_zamanli_uretim_yapan_santraller():
    """
    İsteğin yapıldığı tarihte gerçek zamanlı üretim yapan UEVÇB bazında santral bilgilerini vermektedir.

    Parametre
    ----------

    Geri Dönüş Değeri
    -----------------
    Santral Bilgileri(Id, Adı, EIC Kodu, Kısa Adı)
    """
    try:
        particular_url = __first_part_url + "real-time-generation-power-plant-list"
        json = __make_requests(particular_url)
        df = __pd.DataFrame(json["body"]["powerPlantList"])
        df.rename(index=str,
                  columns={
                      "id": "Id",
                      "name": "Adı",
                      "eic": "EIC Kodu",
                      "shortName": "Kısa Adı"
                  },
                  inplace=True)
        df = df[["Id", "Adı", "EIC Kodu", "Kısa Adı"]]
    except (KeyError, TypeError):
        return __pd.DataFrame()
    else:
        return df
Beispiel #11
0
def santraller(tarih=__dt.datetime.now().strftime("%Y-%m-%d")):
    """
    İlgili tarihte EPİAŞ sistemine kayıtlı santrallerin bilgilerini vermektedir.

    Parametre
    ----------
    tarih : %YYYY-%AA-%GG formatında tarih (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Santral Bilgileri(Id, Adı, EIC Kodu, Kısa Adı)
    """
    if __dogrulama.__tarih_dogrulama(tarih):
        try:
            particular_url = __first_part_url + "power-plant?period=" + tarih
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["powerPlantList"])
            df.rename(index=str,
                      columns={
                          "id": "Id",
                          "name": "Adı",
                          "eic": "EIC Kodu",
                          "shortName": "Kısa Adı"
                      },
                      inplace=True)
            df = df[["Id", "Adı", "EIC Kodu", "Kısa Adı"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #12
0
def tahmin(baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
           bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
           rename_tr=False):
    """
    İlgili tarih aralığı için saatlik yük tahmin plan bilgisini vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün)
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Yük Tahmin Planı (Tarih, Saat, Tüketim)

    """
    if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi,
                                                     bitis_tarihi):
        try:
            particular_url = __first_part_url + "load-estimation-plan" + "?startDate=" + baslangic_tarihi + \
                             "&endDate=" + bitis_tarihi
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["loadEstimationPlanList"])
            df["Saat"] = df["date"].apply(lambda h: int(h[11:13]))
            df["Tarih"] = __pd.to_datetime(df["date"].apply(lambda d: d[:10]))
            if rename_tr:
                df.rename(index=str, columns={"lep": "Tüketim"}, inplace=True)
                df = df[["Tarih", "Saat", "Tüketim"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #13
0
def sekonder_frekans_rezerv_miktari(
        baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
        bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
        rename_tr=True):
    """
    İlgili tarih aralığı için saatlik primer frekans rezerv miktar bilgisini vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün)
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    SFK Yükümlülük (MWh)
    """
    if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi,
                                                     bitis_tarihi):
        try:
            particular_url = __first_part_url + "sfc-amount" + "?startDate=" + baslangic_tarihi + "&endDate=" + \
                             bitis_tarihi
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["frequencyReservePriceList"])
            df["Saat"] = df["effectiveDate"].apply(lambda h: int(h[11:13]))
            df["Tarih"] = __pd.to_datetime(
                df["effectiveDate"].apply(lambda d: d[:10]))
            if rename_tr:
                df.rename(index=str,
                          columns={"totalAmount": "SFK Yükümlülük (MWh)"},
                          inplace=True)
                df = df[["Tarih", "Saat", "SFK Yükümlülük (MWh)"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #14
0
def __katilimci_sayisi(tarih):
    """
    İlgili tarih için EPİAŞ sistemine kayıtlı katılımcıların lisans tipine göre sayısını vermektedir.

    Parametre
    ----------
    tarih : %YYYY-%AA-%GG formatında tarih (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Katılımcı Sayısı
    """
    try:
        particular_url = __first_part_url + "participant?period=" + tarih
        json = __make_requests(particular_url)
        df = __pd.DataFrame(json["body"]["participantList"])
        columns = __pd.MultiIndex.from_product(
            [["Özel Sektör", "Kamu Kuruluşu"], list(df["licence"]) + ["Toplam"]], names=['', ''])
        df = __pd.DataFrame([list(df["privateSector"]) + list(
            df["privateSectorOfSum"].unique()) + list(df["publicCompany"]) + list(
            df["publicCompanyOfSum"].unique())], index=[tarih], columns=columns)
        df["Toplam"] = df["Kamu Kuruluşu"]["Toplam"] + df["Özel Sektör"]["Toplam"]
    except (KeyError, TypeError):
        return __pd.DataFrame()
    else:
        return df
Beispiel #15
0
def profil_abone_grubu(
        tarih=__dt.datetime.today().strftime("%Y-%m-%d"), distribution_id=""):
    """
    İlgili tarihe tekabül eden uzlaştırma dönemi ve ağıtım bölgesi için profil abone grup listesini vermektedir.

    Parametreler
    ------------
    periyot : %YYYY-%AA-%GG formatında tarih (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Serbest Tüketici, Tedarik Kapsamındaki ve Toplam Uzlaştırmaya Esas Çekiş Miktarı (Tarih, Saat, UEÇM,
    Serbest Tüketici UEÇM, Tedarik Yükümlülüğü Kapsamındaki UEÇM)

    """
    if __dogrulama.__tarih_dogrulama(tarih):
        try:
            particular_url = __first_part_url + "subscriber-profile-group" + "?period=" + tarih + "&distributionId=" \
                             + str(distribution_id)
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["subscriberProfileGroupList"])
            df.rename(index=str,
                      columns={
                          "id": "Id",
                          "name": "Profil Adı"
                      },
                      inplace=True)
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #16
0
def kptf(tarih=(__dt.datetime.today() +
                __dt.timedelta(days=1)).strftime("%Y-%m-%d"),
         rename_tr=False):
    """
    İlgili tarih için saatlik gün öncesi piyasası kesinleşmemiş piyasa takas fiyatını vermektedir.

    Parametreler
    ------------
    tarih : %YYYY-%AA-%GG formatında tarih (Varsayılan: yarın)

    Geri Dönüş Değeri
    -----------------
    Kesinleşmemiş Piyasa Takas Fiyatı (₺/MWh)
    """
    if __dogrulama.__tarih_dogrulama(tarih):
        try:
            particular_url = __first_part_url + "day-ahead-interim-mcp" + "?period=" + tarih
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["interimMCPList"])
            df["Saat"] = df["date"].apply(lambda x: int(x[11:13]))
            if rename_tr:
                df.rename(index=str,
                          columns={"marketTradePrice": "KPTF"},
                          inplace=True)
                df = df[["Saat", "KPTF"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #17
0
def sayac_okuma_tipi():
    """
    Sayaç okuma tip bilgileri vermektedir.

    Parametreler
    ------------

    Geri Dönüş Değeri
    -----------------
    Sayaç Okuma Tipleri (Id, Dağıtım Bölgesi)
    """
    try:
        particular_url = __first_part_url + "meter-reading-type"
        json = __make_requests(particular_url)
        df = __pd.DataFrame(json["body"]["meterReadingTypeList"])
        df.rename(index=str,
                  columns={
                      "id": "Id",
                      "name": "Sayaç Tipi"
                  },
                  inplace=True)
    except (KeyError, TypeError):
        return __pd.DataFrame()
    else:
        return df
Beispiel #18
0
def __organizasyonel_talep_hacim(baslangic_tarihi, bitis_tarihi, org):
    """
    İlgili tarih aralığı ve organizasyon için gün öncesi piyasası saatlik talep eşleşme miktar bilgisini vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi
    org              : dict formatında organizasyon EIC Kodu, Kısa Adı

    Geri Dönüş Değeri
    -----------------
    Organizasyonel Talep Eşleşme Miktarı (MWh)
    """
    try:
        particular_url = __first_part_url + "day-ahead-market-volume" + "?startDate=" + baslangic_tarihi + \
                         "&endDate=" + bitis_tarihi + "&eic=" + org["EIC Kodu"]
        json = __make_requests(particular_url)
        df = __pd.DataFrame(json["body"]["dayAheadMarketVolumeList"])
        df["Saat"] = df["date"].apply(lambda h: int(h[11:13]))
        df["Tarih"] = __pd.to_datetime(df["date"].apply(lambda d: d[:10]))
        df.rename(index=str,
                  columns={"matchedBids": "Talep Eşleşme Miktarı"},
                  inplace=True)
        df[org["Kısa Adı"]] = df["Talep Eşleşme Miktarı"]
        df = df[["Tarih", "Saat", org["Kısa Adı"]]]
    except (KeyError, TypeError):
        return __pd.DataFrame()
    else:
        return df
Beispiel #19
0
def __uecm_serbest_tuketici(tarih=__dt.datetime.today().strftime("%Y-%m-%d")):
    """
    İlgili tarihe tekabül eden uzlaştırma dönemi için serbest tüketici hakkını kullanan serbest tüketicilerin saatlik
    Uzlaştırmaya Esas Çekiş Miktarı (UEÇM) bilgisini vermektedir.

    Parametreler
    ------------
    periyot : %YYYY-%AA-%GG formatında tarih (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Serbest Tüketici Uzlaştırmaya Esas Çekiş Miktarı (Tarih, Saat, Tüketim)

    """
    if __dogrulama.__tarih_dogrulama(tarih):
        try:
            particular_url = __first_part_url + "swv-v2" + "?period=" + tarih
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["swvV2List"])
            df["Saat"] = df["vc_gec_trh"].apply(lambda h: int(h[11:13]))
            df["Tarih"] = __pd.to_datetime(
                df["vc_gec_trh"].apply(lambda d: d[:10]))
            df.rename(index=str,
                      columns={"st": "Serbest Tüketici UEÇM"},
                      inplace=True)
            df = df[["Tarih", "Saat", "Serbest Tüketici UEÇM"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #20
0
def __santral_veris_cekis_birimleri(tarih, santral):
    """
   İlgili tarih ve santral için santralin altında tanımlanmış uzlaştırmaya
   esas veriş-çekiş birim (UEVÇB) bilgilerini vermektedir.

   Parametreler
   ------------
   tarih      : %YYYY-%AA-%GG formatında tarih
   santral    : dict formatında santral id, Adı, EIC Kodu, Kısa Adı

   Geri Dönüş Değeri
   -----------------
   İlgili  UEVÇB Bilgileri(Santral Id, Santral Adı, Santral EIC Kodu, Santral Kısa Adı, UEVÇB Id,
                           UEVÇB Adı, UEVÇB EIC Kodu)
   """

    try:
        particular_url = __first_part_url + "uevcb?period=" + tarih + "&powerPlantId=" + str(santral["Id"])
        json = __make_requests(particular_url)
        df = __pd.DataFrame(json["body"]["uevcbList"])
        df["Santral Id"] = santral["Id"]
        df["Santral Adı"] = santral["Adı"]
        df["Santral EIC Kodu"] = santral["EIC Kodu"]
        df["Santral Kısa Adı"] = santral["Kısa Adı"]
        df.rename(index=str,
                  columns={"id": "UEVÇB Id", "name": "UEVÇB Adı", "eic": "UEVÇB EIC Kodu"},
                  inplace=True)
        df = df[["Santral Id", "Santral Adı", "Santral EIC Kodu", "Santral Kısa Adı", "UEVÇB Id",
                 "UEVÇB Adı", "UEVÇB EIC Kodu"]]
    except (KeyError, TypeError):
        return __pd.DataFrame()
    else:
        return df
Beispiel #21
0
def __serbest_tuketici_sayisi():
    """
    İlgili tarih aralığına tekabül eden uzlaştırma dönemleri için serbest tüketici hakkını kullanan serbest
    tüketicilerin aylık toplam sayısını vermektedir.

    Parametreler
    ------------

    Geri Dönüş Değeri
    -----------------
    Serbest Tüketici Sayısı (Tarih, Serbest Tüketici Sayısı, Artış Oranı)
    """
    try:
        particular_url = __first_part_url + "eligible-consumer-quantity"
        json = __make_requests(particular_url)
        df = __pd.DataFrame(json["body"]["eligibleConsumerQuantityList"])
        df["Dönem"] = __pd.to_datetime(df["date"].apply(lambda d: d[:10]))
        df.rename(index=str,
                  columns={
                      "meterQuantity": "Serbest Tüketici Sayısı",
                      "meterIncreaseRate": "Artış Oranı"
                  },
                  inplace=True)
        df = df[["Dönem", "Serbest Tüketici Sayısı", "Artış Oranı"]]
    except (KeyError, TypeError):
        return __pd.DataFrame()
    else:
        return df
Beispiel #22
0
def santral_veris_cekis_birimleri(tarih=__dt.datetime.today().strftime("%Y-%m-%d"), santral_id=""):
    """
    İlgili tarih ve santral ID için santralin altında tanımlanmış uzlaştırmaya
    esas veriş-çekiş birim (UEVÇB) bilgilerini vermektedir.

    Parametreler
    ------------
    tarih      : %YYYY-%AA-%GG formatında tarih (Varsayılan: bugün)
    santral_id : metin yada tam sayı formatında santral id (Varsayılan: "")

    Geri Dönüş Değeri
    -----------------
    İlgili  UEVÇB Bilgileri(Id, Adı, EIC Kodu)
    """

    if __dogrulama.__tarih_id_dogrulama(tarih, santral_id):
        try:
            particular_url = __first_part_url + "uevcb?period=" + tarih + "&powerPlantId=" + str(santral_id)
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["uevcbList"])
            df.rename(index=str, columns={"id": "Id", "name": "Adı", "eic": "EIC Kodu"}, inplace=True)
            df = df[["Id", "Adı", "EIC Kodu"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #23
0
def organizasyonlar():
    """
    Kesinleşmiş Gün Öncesi Üretim Planı (KGÜP) girebilecek olan organizasyon bilgilerini vermektedir.

    Parametreler
    ------------

    Geri Dönüş Değeri
    -----------------
    KGÜP Girebilen Organizasyon Bilgileri(Id, Adı, EIC Kodu, Kısa Adı, Durum)
    """
    try:
        particular_url = __first_part_url + "dpp-organization"
        json = __make_requests(particular_url)
        df = __pd.DataFrame(json["body"]["organizations"])
        df.rename(index=str,
                  columns={"organizationId": "Id", "organizationName": "Adı",
                           "organizationETSOCode": "EIC Kodu", "organizationShortName": "Kısa Adı",
                           "organizationStatus": "Durum"},
                  inplace=True)
        df = df[["Id", "Adı", "EIC Kodu", "Kısa Adı", "Durum"]]
    except (KeyError, TypeError):
        return __pd.DataFrame()
    else:
        return df
Beispiel #24
0
def sehir():
    """
    Şehir ve şehirlere ait ilçelerin bilgisini vermektedir.

    Parametreler
    ------------

    Geri Dönüş Değeri
    -----------------
    Şehir ve Şehirlere Ait İlçeler (Şehir Id, İlçe Id, Şehir İsmi, İlçe İsmi)

    """
    try:
        particular_url = __first_part_url + "city"
        json = __make_requests(particular_url)
        df = __pd.DataFrame(json["body"]["cityList"])
        df.rename(index=str,
                  columns={
                      "cityId": "Şehir Id",
                      "districtId": "İlçe Id",
                      "cityName": "Şehir İsmi",
                      "districtName": "İlçe İsmi"
                  },
                  inplace=True)
    except (KeyError, TypeError):
        return __pd.DataFrame()
    else:
        return df.drop_duplicates().reset_index(drop=True)
Beispiel #25
0
def gddk(baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
         bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), rename_tr=False):
    """
    İlgili tarih aralığı için geriye dönük düzeltme kalemine (GDDK) ait değerleri vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün)
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Dönemlik GDDK (₺)
    """
    if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi, bitis_tarihi):
        try:
            particular_url = \
                __first_part_url + "gddk-amount" + "?startDate=" + baslangic_tarihi + "&endDate=" + bitis_tarihi
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["gddkAmountList"])
            df["Dönem"] = df["id"].apply(
                lambda x: str(__pd.to_datetime(x["date"][:10]).month_name(locale='tr_TR.UTF-8')) + "-" + str(
                    __pd.to_datetime(x["date"][:10]).year))
            df["Versiyon"] = df["id"].apply(
                lambda x: str(__pd.to_datetime(x["version"][:10]).month_name(locale='tr_TR.UTF-8')) + "-" + str(
                    __pd.to_datetime(x["version"][:10]).year))
            df.rename(index=str,
                      columns={"gddkCreditAmount": "Alacak GDDK Tutarı (TL)", "gddkDebtAmount": "Borç GDDK Tutarı (TL)",
                               "gddkNetAmount": "Net GDDK Tutarı (TL)"}, inplace=True)
            df = df[["Dönem", "Versiyon", "Alacak GDDK Tutarı (TL)", "Borç GDDK Tutarı (TL)", "Net GDDK Tutarı (TL)"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #26
0
def sayac_okuyan_kurum(tarih=__dt.datetime.today().strftime("%Y-%m-%d")):
    """
    Sayaç okuyan kurumların bilgisini vermektedir.

    Parametreler
    ------------

    Geri Dönüş Değeri
    -----------------
    Serbest Tüketici Sayısı (Tarih, Serbest Tüketici Sayısı, Artış Oranı)
    """
    if __dogrulama.__tarih_dogrulama(tarih):
        try:
            particular_url = __first_part_url + "meter-reading-company" + "?period=" + tarih
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["meterReadingCompanyList"])
            df.rename(index=str,
                      columns={
                          "id": "Id",
                          "name": "Şirket Adı",
                          "status": "Durum"
                      },
                      inplace=True)
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #27
0
def __organizasyon_cekis_birimleri(org):
    """
    İlgili eic değeri için Kesinleşmiş Gün Öncesi Üretim Planı (KGÜP) girebilecek olan organizasyonun uzlaştırmaya
    esas veriş-çekiş birim (UEVÇB) bilgilerini ve organizasyona dair bilgileri vermektedir.

    Parametreler
    ------------
    org : dict formatında organizasyon Id, Adı, EIC Kodu, Kısa Adı, Durum

    Geri Dönüş Değeri
    -----------------
    KGÜP Girebilen Organizasyon Bilgileri(Org Id, Org Adı, Org EIC Kodu, Org Kısa Adı,Org Durum, UEVÇB Id, UEVÇB Adı,
    UEVÇB EIC Kodu)
    """
    try:
        particular_url = __first_part_url + "dpp-injection-unit-name?organizationEIC=" + org["EIC Kodu"]
        json = __make_requests(particular_url)
        df = __pd.DataFrame(json["body"]["injectionUnitNames"])
        df["Org Id"] = org["Id"]
        df["Org Adı"] = org["Adı"]
        df["Org EIC Kodu"] = org["EIC Kodu"]
        df["Org Kısa Adı"] = org["Kısa Adı"]
        df["Org Durum"] = org["Durum"]
        df.rename(index=str,
                  columns={"id": "UEVÇB Id", "name": "UEVÇB Adı", "eic": "UEVÇB EIC Kodu"},
                  inplace=True)
        df = df[["Org Id", "Org Adı", "Org EIC Kodu", "Org Kısa Adı",
                 "Org Durum", "UEVÇB Id", "UEVÇB Adı", "UEVÇB EIC Kodu"]]
    except (KeyError, TypeError):
        return __pd.DataFrame()
    else:
        return df
Beispiel #28
0
def dagitim_bolgeleri():
    """
    Dağıtım bölgelerine dair bilgileri vermektedir.

    Parametreler
    ------------

    Geri Dönüş Değeri
    -----------------
    Dağıtım Bölgeleri (Id, Dağıtım Bölgesi)
    """
    try:
        particular_url = __first_part_url + "distribution"
        json = __make_requests(particular_url)
        df = __pd.DataFrame(json["body"]["distributionList"])
        df.rename(index=str,
                  columns={
                      "id": "Id",
                      "name": "Dağıtım Şirket Adı"
                  },
                  inplace=True)
    except (KeyError, TypeError):
        return __pd.DataFrame()
    else:
        return df
Beispiel #29
0
def __eak_uevcb(baslangic_tarihi, bitis_tarihi, org_uevcb):
    """
    İlgili tarih aralığı ve uzlaştırmaya esas veriş çekiş birimi için emre amade kapasite (EAK) bilgisini vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi
    org              : dict formatında organizasyon EIC Kodu, Kısa Adı

    Geri Dönüş Değeri
    -----------------
    UEVCB EAK değerleri
    """
    if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi, bitis_tarihi):
        try:
            particular_url = __first_part_url + "aic" + "?startDate=" + baslangic_tarihi + "&endDate=" + bitis_tarihi \
                             + "&organizationEIC=" + org_uevcb["Org EIC Kodu"] + "&uevcbEIC=" + org_uevcb[
                                 "UEVÇB EIC Kodu"]
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["aicList"])
            df["Saat"] = df["tarih"].apply(lambda h: int(h[11:13]))
            df["Tarih"] = __pd.to_datetime(df["tarih"].apply(lambda d: d[:10]))
            df.rename(index=str, columns={"toplam": org_uevcb["UEVÇB Adı"]}, inplace=True)
            df = df[["Tarih", "Saat", org_uevcb["UEVÇB Adı"]]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df
Beispiel #30
0
def islem_hacmi(baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
                bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"),
                rename_tr=False):
    """
    İlgili tarih aralığı için gün içi piyasası (GİP) arz/talep işlem hacmi bilgilerini vermektedir.

    Parametreler
    ------------
    baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün)
    bitis_tarihi     : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün)

    Geri Dönüş Değeri
    -----------------
    Arz/Talep İşlem Hacmi (₺)
    """
    if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi,
                                                     bitis_tarihi):
        try:
            particular_url = \
                __first_part_url + "intra-day-income" + "?startDate=" + baslangic_tarihi + "&endDate=" + bitis_tarihi
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["incomes"])
            df["Saat"] = df["date"].apply(lambda h: int(h[11:13]))
            df["Tarih"] = __pd.to_datetime(df["date"].apply(lambda d: d[:10]))
            if rename_tr:
                df.rename(index=str,
                          columns={"income": "İşlem Hacmi"},
                          inplace=True)
                df = df[["Tarih", "Saat", "İşlem Hacmi"]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df