Python API wrapper for Terna transparency data
Project description
terna-py
Python client for the Transparency API of Terna, the Italian electricity transmission system operator
Documentation of the API: https://developer.terna.it/docs/read/APIs_catalog#en
Installation
python3 -m pip install terna-py
Usage
import terna as trn
import pandas as pd
# Please follow the API documentation to register an account and create credentials
key = '<YOUR API KEY>'
secret = '<YOUR API SECRET>'
client = trn.TernaPandasClient(api_key=key,api_secret=secret)
# Note: you specifically need to set a start= and end= parameter which should be a pandas timestamp with timezone
start = pd.Timestamp("20210101", tz='Europe/Rome')
end = pd.Timestamp("20210131", tz='Europe/Rome')
bzone = ["Centre-North", "Centre-South", "North", "Sardinia", "Sicily", "South", "Calabria", "Italy"]
gen_type = ['Thermal', 'Wind', 'Geothermal', 'Photovoltaic', 'Self-consumption', 'Hydro']
res_gen_type = ['Wind', 'Geothermal', 'Photovoltaic', 'Hydro']
type = ['Thermal', 'Wind', 'Geothermal', 'Photovoltaic', 'Self-consumption', 'Hydro', 'Pumping-consumption', 'Net Foreign Exchange']
year = 2022
# Note: all methods return Pandas DataFrames
## total load and market load, quarter-hourly data
df_tload = client.get_total_load(start=start, end=end, bzone=bzone)
df_mload = client.get_market_load(start=start, end=end, bzone=bzone)
## generation by source, renewable generation by source and energy balance, quarter-hourly data
df_act_gen = client.get_actual_generation(start=start, end=end, gen_type=gen_type)
df_res_gen = client.get_renewable_generation(start=start, end=end, res_gen_type=res_gen_type)
df_ener_bal = client.get_energy_balance(start=start, end=end, type=type)
## installed capacity, annual data
df_cap = client.get_installed_capacity(year=year, gen_type=gen_type)
## cross-border commercial schedules and physical flows, quarter-hourly data
df_xborderschedule = client.get_scheduled_foreign_exchange(start=start, end=end)
df_xborderflow = client.get_physical_foreign_flow(start=start, end=end)
## cross-zonal commercial schedules and physical flows, quarter-hourly data
df_internalschedule = client.get_scheduled_internal_exchange(start=start, end=end)
df_internalflow = client.get_physical_internal_flow(start=start, end=end)
## use get_custom_item() to query any other API, see example below
## demand coverage by source, select year(s) and region(s)
item = 'load/v2.0/demand-coverage-by-source'
data = {
'year': [2022,2023],
'region': ['Sardegna'],
'source': [ 'Bioenergie', 'Eolico', 'Fotovoltaico', 'Geotermoelettrico', 'Termoelettrico tradizionale', 'Idrico rinnovabile', 'Idrico tradizionale', 'Saldo import/export' ]
}
df = client.get_custom_item(item, data)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
terna_py-0.5.6.tar.gz
(6.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file terna_py-0.5.6.tar.gz.
File metadata
- Download URL: terna_py-0.5.6.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b176a8cf7e5c60af9d77648d4112f5a5dd2ec0105c795b9ff152662d0d52dedd
|
|
| MD5 |
819325a519dcac1a71ccee95cb1ceece
|
|
| BLAKE2b-256 |
655b9349959d960ccbef2728dfb5ef8dd8371a9895810d77958cc462b6cfa628
|
File details
Details for the file terna_py-0.5.6-py3-none-any.whl.
File metadata
- Download URL: terna_py-0.5.6-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4544d0949ebd7f262fca8ad779086584dcee132dd38d7bed1abfb58f90c71664
|
|
| MD5 |
7f010a7f6a9c618d7a2aebcbca455e51
|
|
| BLAKE2b-256 |
25f418fb7c90b5cab70aa30ed13b2599497925afff4245696634241b554e4d73
|