Source code for kpler.sdk.resources.ballast_capacity_series

from datetime import date
from enum import Enum
from typing import List, Optional

from kpler.sdk import Platform
from kpler.sdk.client import KplerClient
from kpler.sdk.configuration import Configuration
from kpler.sdk.helpers import (
    process_bool_parameter,
    process_date_parameter,
    process_enum_parameter,
    process_enum_parameters,
    process_list_parameter,
)


[docs]class BallastCapacitySeries(KplerClient): """ The ``BallastCapacitySeries`` endpoint returns daily/ weekly/ monthly aggregated data values for a given zone/ vessel type/ time period /last product carried. """ RESOURCE_NAME = "ballast-capacity/series" AVAILABLE_PLATFORMS = [Platform.Dry, Platform.Liquids, Platform.LNG, Platform.LPG] def __init__(self, configuration: Configuration, column_ids: bool = True, log_level=None): super().__init__(configuration, self.AVAILABLE_PLATFORMS, column_ids, log_level)
[docs] def get( self, start_date: Optional[date] = None, end_date: Optional[date] = None, zones: Optional[List[str]] = None, metric: Optional[Enum] = None, period: Optional[Enum] = None, split: Optional[Enum] = None, products: Optional[List[str]] = None, unit: Optional[Enum] = None, vessel_types_cpp: Optional[List[Enum]] = None, vessel_types_oil: Optional[List[Enum]] = None, vessel_types: Optional[List[Enum]] = None, gte: Optional[int] = None, lte: Optional[int] = None, with_freight_view: bool = False, ): """ Args: start_date: Optional[date] Start of the period (YYYY-MM-DD) end_date: Optional[date] End of the period (YYYY-MM-DD) zones: Optional[List[str]] Names of countries/geographical zones metric: Optional[Enum] ``BallastCapacitySeriesMetric`` period: Optional[Enum] ``BallastCapacitySeriesPeriod`` split: Optional[Enum] ``BallastCapacitySeriesSplit`` products: Optional[List[str]] Names of products unit: Optional[Enum] ``BallastCapacitySeriesUnit`` vessel_types_cpp: Optional[List[Enum]] ``VesselTypesCPP`` vessel_types_oil: Optional[List[Enum]] ``VesselTypesOil`` vessel_types: Optional[List[Enum]] ``VesselTypesDry`` ``VesselTypesLNG`` ``VesselTypesLPG`` gte: Optional[int] Get vessels with deadweight/capacity greater or equals to this value by default 0 lte: Optional[int] Get vessels with deadweight/capacity lower or equals to this value by default 606550 with_freight_view: bool By default: with_freight_view=False. Provides access to the entire fleet's trades, irrespective of your current cargo subscription. Only available via Freight subscription. Examples: >>> from kpler.sdk.resources.ballast_capacity_series import BallastCapacitySeries ... from kpler.sdk import BallastCapacitySeriesMetric, BallastCapacitySeriesPeriod, BallastCapacitySeriesSplit ... ballast_capacity_series_client = BallastCapacitySeries(config) ... ballast_capacity_series_client.get( ... metric=BallastCapacitySeriesMetric.Capacity, ... period=BallastCapacitySeriesPeriod.Daily, ... split=BallastCapacitySeriesSplit.VesselType, ... ) .. csv-table:: :header: "Date","MR","GP","LR3","LR2","VLCC","LR1" "2020-11-22","10724.0","NaN","NaN","NaN","NaN","NaN" "2020-11-23","616555.0","2080981.0","1194773.0","1004319.0","163657.0","679003.0" "2020-11-24","1287340.0","2944327.0","4162769.0","2826019.0","1340769.0","2647163.0" "2020-11-25","854538.0","2975890.0","3930704.0","3186276.0","1226344.0","5675351.0" "2020-11-26","803699.0","2393202.0","2431821.0","2325491.0","571266.0","2991957.0" """ query_parameters = { "startDate": process_date_parameter(start_date), "endDate": process_date_parameter(end_date), "zones": process_list_parameter(zones), "metric": process_enum_parameter(metric), "period": process_enum_parameter(period), "split": process_enum_parameter(split), "products": process_list_parameter(products), "unit": process_enum_parameter(unit), "vesselTypesCpp": process_enum_parameters(vessel_types_cpp, False), "vesselTypesOil": process_enum_parameters(vessel_types_oil, False), "vesselTypes": process_enum_parameters(vessel_types, False), "gte": gte, "lte": lte, "withFreightView": process_bool_parameter(with_freight_view), } return self._get_dataframe(self.RESOURCE_NAME, query_parameters)