Quickstart
Right after installing the package, you can start using the API.
Try the API
If you have credentials, make sure to export it in environment variables OR to pass it to the client constructor.
from calibsunapi import CalibsunApiClient
client = CalibsunApiClient(calibsun_client_id="your_client_id", calibsun_client_secret="your_client_secret")
You can start to discover the plants you have access to.
This should display the first plant object you have access to.
Then, you can directly use the plant object to get the latest forecast.
output = plant.get_latest_forecast(target=Targets.PROD)
import pandas as pd
df = pd.DataFrame(output["data"])
df.head()
Full example, iterating over all your plants and getting the latest forecast :
from calibsunapi import CalibsunApiClient, Targets
client = CalibsunApiClient(calibsun_client_id="your_client_id", calibsun_client_secret="your_client_secret")
for plant in client.list_plants():
output = plant.get_latest_forecast(Targets.GTI)
Send measurement data to Calibsun
If you need to send your measurement data to calibsun, just as before, you can use the plant object JSON-serializable data.
from calibsunapi import CalibsunApiClient
client = CalibsunApiClient(calibsun_client_id="your_client_id", calibsun_client_secret="your_client_secret")
for plant in client.list_plants():
data = get_my_plant_data(plant.site_id)
plant.push_measurements(data=data)
You can also directly point to a data file and send any data you’d like in any known format. For example, with csv :
from calibsunapi import CalibsunApiClient, UploadMeasurement
client = CalibsunApiClient(calibsun_client_id="your_client_id", calibsun_client_secret="your_client_secret")
for plant in client.list_plants():
filepath = get_my_plant_data(plant.site_id)
plant.push_measurements(format=UploadMeasurementsFormat.CSV, filename=filepath)