.. _quickstart: 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. .. code-block:: python 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. .. code-block:: python plants = client.list_plants() plant = plants[0] print(plant) This should display the first plant object you have access to. .. code-block:: console Plant(Signes) Then, you can directly use the plant object to get the latest forecast. .. code-block:: python 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 : .. code-block:: python 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. .. code-block:: python 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 : .. code-block:: python 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)