Ejemplo n.º 1
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
Ejemplo n.º 2
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
Ejemplo n.º 3
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
Ejemplo n.º 4
0
def tum_dagitimlar_profil_gruplari(
        tarih=__dt.datetime.today().strftime("%Y-%m-%d")):
    """
    İlgili tarih aralığı için Kesinleşmiş Gün Öncesi Üretim Planı (KGÜP) girebilecek olan tüm organizasyonların saatlik
    KGUP 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
    -----------------
    KGÜP Girebilen Organizasyonların KGUP Değerleri (Tarih, Saat, KGUP)
    """
    if __dogrulama.__tarih_dogrulama(tarih):
        dist = dagitim_bolgeleri()
        list_dist = list(dist["Id"])
        org_len = len(list_dist)
        list_date_dist = list(zip([tarih] * org_len, list_dist))
        list_date_dist = list(map(list, list_date_dist))
        with __Pool(__mp.cpu_count()) as p:
            list_df_unit = p.starmap(profil_abone_grubu,
                                     list_date_dist,
                                     chunksize=1)
        list_df_unit = list(filter(lambda x: len(x) > 0, list_df_unit))
        df_unit = __red(
            lambda left, right: __pd.merge(
                left, right, how="outer", on=["Id"], sort=True), list_df_unit)
        df_unit.columns = ["Id"] + list(dist["Dağıtım Şirket Adı"])
        return df_unit
Ejemplo n.º 5
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
Ejemplo n.º 6
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
Ejemplo n.º 7
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
Ejemplo n.º 8
0
def tum_santraller_veris_cekis_birimleri(
        tarih=__dt.datetime.today().strftime("%Y-%m-%d")):
    """
    İlgili tarih için EPİAŞ sistemine kayıtlı tüm santrallerin 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)

    Geri Dönüş Değeri
    -----------------
    EPİAŞ Sistemine Kayıtlı Santraller ve UEVÇB Bilgileri("Santral Id, "Santral Adı", "Santral EIC Kodu",
    "Santral Kısa Adı", "UEVÇB Id", "UEVÇB Adı", "UEVÇB EIC Kodu")
    """
    if __dogrulama.__tarih_dogrulama(tarih):
        list_santral = santraller()[["Id", "Adı", "EIC Kodu",
                                     "Kısa Adı"]].to_dict("records")
        santral_len = len(list_santral)
        list_date_santral_id = list(zip([tarih] * santral_len, list_santral))
        list_date_santral_id = list(map(list, list_date_santral_id))
        with __Pool(__mp.cpu_count()) as p:
            list_df_unit = p.starmap(__santral_veris_cekis_birimleri,
                                     list_date_santral_id,
                                     chunksize=1)
        return __pd.concat(list_df_unit).reset_index(drop=True)
Ejemplo n.º 9
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
Ejemplo n.º 10
0
def __uecm_donemlik(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, tedarik
    yükümlülüğü kapsamındaki ve toplam 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, 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 + "consumption" + "?period=" + tarih
            json = __make_requests(particular_url)
            df = __pd.DataFrame(json["body"]["consumptions"])
            df["Dönem"] = df["period"].apply(lambda d: d[:7])
            df.rename(index=str,
                      columns={
                          "consumption":
                          "UEÇM",
                          "eligibleCustomerConsumption":
                          "Serbest Tüketici UEÇM",
                          "underSupplyLiabilityConsumption":
                          "Tedarik Yükümlülüğü Kapsamındaki UEÇM"
                      },
                      inplace=True)
            df = df[[
                "Dönem", "UEÇM", "Serbest Tüketici UEÇM",
                "Tedarik Yükümlülüğü Kapsamındaki UEÇM"
            ]]
        except (KeyError, TypeError):
            return __pd.DataFrame()
        else:
            return df