Quickref: Adapt

leaf_engine.adapt.context

class leaf_engine.adapt.context.AdaptActionContext(int_rt: Callable[[], pandas.DataFrame], int_tri: Callable[[], pandas.DataFrame], leaf_rt: Callable[[], pandas.DataFrame], ext_rt: Callable[[], pandas.DataFrame], ext_tri: Callable[[], pandas.DataFrame], leaf_tri: Callable[[], pandas.DataFrame], int_cm: Callable[[], pandas.DataFrame], ext_cm: Callable[[], pandas.DataFrame], leaf_cm: Callable[[], pandas.DataFrame], shorty: Callable[[], pandas.DataFrame], leaf_shorty: Callable[[], pandas.DataFrame], flex_daily_price: Callable[[], pandas.DataFrame], flex_daily_performance: Callable[[], pandas.DataFrame], flex_weekly_price: Callable[[], pandas.DataFrame], flex_uncommitted_price: Callable[[], pandas.DataFrame])
Parameters:
class leaf_engine.adapt.context.AdaptConsolidatedNetworkActionContext(actions: Callable[[], pandas.DataFrame])
Parameters:

actions (Callable[[], pandas.DataFrame]) –

class leaf_engine.adapt.context.AdaptDataContext(equip_class_ships: Callable[[], pandas.DataFrame], markets: Callable[[], pandas.DataFrame], lanes: Callable[[], pandas.DataFrame], db_lanes: Callable[[], pandas.DataFrame], lane_equip_class_annual_volume: Callable[[], pandas.DataFrame], lane_equip_class_recent_rpm: Callable[[], pandas.DataFrame], company_id: int, company_name: str, batch_date: str, equipment_class: str, dat_fuel: float, db_key: str, run_type: dict, incl_record_types: list[str], leaf_company_ids: list[int])
Parameters:
class leaf_engine.adapt.context.AdaptETLContext(ships: Callable[[], pandas.DataFrame], markets: Callable[[], pandas.DataFrame], db_lanes: Callable[[], pandas.DataFrame], company_id: int, batch_date: str, company_name: str, equipment_class: str, db_key: str, minimum_lane_miles: int, oa_daily_params: Dict, oa_dow_params: Dict, oa_weekly_params: Dict, leaf_company_ids: list[int])
Parameters:
  • ships (Callable[[], pandas.DataFrame]) –

  • markets (Callable[[], pandas.DataFrame]) –

  • db_lanes (Callable[[], pandas.DataFrame]) –

  • company_id (int) –

  • batch_date (str) –

  • company_name (str) –

  • equipment_class (str) –

  • db_key (str) –

  • minimum_lane_miles (int) –

  • oa_daily_params (Dict) –

  • oa_dow_params (Dict) –

  • oa_weekly_params (Dict) –

  • leaf_company_ids (list[int]) –

class leaf_engine.adapt.context.AdaptExplorerContext(lane_summary: Callable[[], pandas.DataFrame], lane_daily_volume: Callable[[], pandas.DataFrame], lane_detail_volume: Callable[[], pandas.DataFrame], lane_daily_spend: Callable[[], pandas.DataFrame], lane_scac_daily_volume: Callable[[], pandas.DataFrame], lane_scac_spend: Callable[[], pandas.DataFrame], lane_weekly_scac_spend: Callable[[], pandas.DataFrame], lane_quick_ref: Callable[[], pandas.DataFrame])
Parameters:
class leaf_engine.adapt.context.AdaptNetworkContext(int_rt: Callable[[], pandas.DataFrame], ext_rt: Callable[[], pandas.DataFrame], leaf_rt: Callable[[], pandas.DataFrame], int_tri: Callable[[], pandas.DataFrame], ext_tri: Callable[[], pandas.DataFrame], leaf_tri: Callable[[], pandas.DataFrame], int_cm: Callable[[], pandas.DataFrame], ext_cm: Callable[[], pandas.DataFrame], leaf_cm: Callable[[], pandas.DataFrame], shorty: Callable[[], pandas.DataFrame], leaf_shorty: Callable[[], pandas.DataFrame])
Parameters:
class leaf_engine.adapt.context.AdaptObservationContext(contract_rate_spread: Callable[[], pandas.DataFrame], spot_exposure: Callable[[], pandas.DataFrame], market_rate_variance: Callable[[], pandas.DataFrame], carrier_churn: Callable[[], pandas.DataFrame], daily_pattern: Callable[[], pandas.DataFrame], weekly_pattern: Callable[[], pandas.DataFrame], should_be_flex: Callable[[], pandas.DataFrame])
Parameters:
class leaf_engine.adapt.context.AdaptSyntheticRateContext(lane_rates: Callable[[], pandas.DataFrame], market_rates: Callable[[], pandas.DataFrame], dat_fuel: float)
Parameters:
class leaf_engine.adapt.context.Context(sources: Dict[str, DataSource], params: dict)
Parameters:
static from_pkl(filename)
load(load_sources=None, validate=True)
sources() Dict[str, str]
Return type:

Dict[str, str]

to_pkl(filename)
validate(validate_sources=None)
_sources
data: Dict[str, pandas.DataFrame]
params
pickled = False
class leaf_engine.adapt.context.DataSource(schema: pandera.DataFrameSchema, source: Callable[[], pandas.DataFrame])
Parameters:
  • schema (pandera.DataFrameSchema) –

  • source (Callable[[], pandas.DataFrame]) –

load(validate=True) pandas.DataFrame
Return type:

pandas.DataFrame

validate()
_data
schema
source

leaf_engine.adapt.exports

leaf_engine.adapt.exports.export_consolidated_flex_excel(action_cxt: leaf_engine.adapt.context.AdaptActionContext, etl_cxt: leaf_engine.adapt.context.AdaptETLContext, adapt_cxt: leaf_engine.adapt.context.AdaptDataContext, path: str, env: str)
Parameters:
leaf_engine.adapt.exports.export_consolidated_network_excel(action_cxt: leaf_engine.adapt.context.AdaptConsolidatedNetworkActionContext, adapt_cxt: leaf_engine.adapt.context.AdaptDataContext, equipment_class: str, path: str, env: str)
Parameters:
leaf_engine.adapt.exports.export_domicile_ranking_csv(adapt_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext, path: str)
Parameters:
leaf_engine.adapt.exports.export_explorer_csv(explorer_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptExplorerContext, etl_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptETLContext, postprocessing_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptPostprocessingContext, path: str, env: str)
Parameters:
leaf_engine.adapt.exports.export_lane_level_corridor_csv(adapt_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext, path: str)
Parameters:
leaf_engine.adapt.exports.export_lane_level_lane_plans_csv(adapt_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext, path: str)

Exports shipment-level lane plans to CSV.

Parameters:
leaf_engine.adapt.exports.export_lane_level_ops_plan_template(adapt_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext, action_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptActionContext, rate_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptSyntheticRateContext, equipment_class: str, env: str, path: str)

This function generates, formats, and exports the data that serves as the initial Ops Plans for a particular shipper. An Ops Plan is Leaf’s way of recording how we expect to manage a Shipper’s freight in a standardized way so that they can be accessed by our teams. The Ops Plan includes information about the volume on the lane, ways that we plan to contract the lane with LSPs, the expected pricing for those contracts, and the expected time Leaf needs to put in place those contracts.

NB: Ops Plans are created/stored for any unique combination of Shipper, Lane, and Equipment Type, and are owned by CX Demand.

Parameters:
leaf_engine.adapt.exports.export_legacy_csvs(etl_cxt: leaf_engine.adapt.context.AdaptETLContext, adapt_cxt: leaf_engine.adapt.context.AdaptDataContext, net_cxt: leaf_engine.adapt.context.AdaptNetworkContext, obs_cxt: leaf_engine.adapt.context.AdaptObservationContext, action_cxt: leaf_engine.adapt.context.AdaptActionContext, path: str)
Parameters:
leaf_engine.adapt.exports.export_lighthouse_ptp_mapping_lanes(adapt_cxt: leaf_engine.adapt.context.AdaptDataContext, path: str, input_csv_path: str) None
Parameters:
Return type:

None

leaf_engine.adapt.exports.export_ops_plan_template(etl_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptETLContext, adapt_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext, oa_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptOAContext, action_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptActionContext, rate_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptSyntheticRateContext, explorer_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptExplorerContext, env: str, path: str)

This function generates, formats, and exports the data that serves as the initial Ops Plans for a particular shipper. An Ops Plan is Leaf’s way of recording how we expect to manage a Shipper’s freight in a standardized way so that they can be accessed by our teams. The Ops Plan includes information about the volume on the lane, ways that we plan to contract the lane with LSPs, the expected pricing for those contracts, and the expected time Leaf needs to put in place those contracts.

NB: Ops Plans are created/stored for any unique combination of Shipper, Lane, and Equipment Type, and are owned by CX Demand.

Parameters:
leaf_engine.adapt.exports.export_postprocessing(data_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext, postprocessing_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptPostprocessingContext, path: str)

Writes postprocessing outputs.

Parameters:
leaf_engine.adapt.exports.export_ptp_mapping_lanes(adapt_cxt: leaf_engine.adapt.context.AdaptDataContext, path: str, input_csv_path: str) None
Parameters:
Return type:

None

leaf_engine.adapt.exports.export_quick_ref_csv(explorer_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptExplorerContext, etl_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptETLContext, path: str, zero_out_linehaul: bool)
Parameters:
leaf_engine.adapt.exports.export_quick_ref_lanes_csv(adapt_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext, path: str, input_csv_path: str, zero_out_linehaul: bool)
Parameters:
leaf_engine.adapt.exports.export_shipment_level_corridor_csv(explorer_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptExplorerContext, etl_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptETLContext, path: str)
Parameters:
leaf_engine.adapt.exports.export_shipment_level_lane_plans_csv(etl_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptETLContext, path: str)

Exports shipment-level lane plans to CSV.

Parameters:

leaf_engine.adapt.network

leaf_engine.adapt.oa

leaf_engine.adapt.pipeline

leaf_engine.adapt.pipeline.action_pipeline(adapt_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext, network_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptNetworkContext, oa_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptOAContext, rate_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptSyntheticRateContext) leaf_engine.adapt.context.adapt_contexts.AdaptActionContext
Parameters:
Return type:

leaf_engine.adapt.context.adapt_contexts.AdaptActionContext

leaf_engine.adapt.pipeline.consolidated_network_action_pipeline(adapt_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext, action_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptActionContext)
Parameters:
leaf_engine.adapt.pipeline.data_prep_pipeline(cxt: leaf_engine.adapt.context.adapt_contexts.AdaptETLContext | None, equipment_class, params=None, lane_level=False, input_csv_path=None) leaf_engine.adapt.context.adapt_contexts.AdaptDataContext
Parameters:

cxt (Union[leaf_engine.adapt.context.adapt_contexts.AdaptETLContext, None]) –

Return type:

leaf_engine.adapt.context.adapt_contexts.AdaptDataContext

leaf_engine.adapt.pipeline.explorer_pipeline(adapt_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext, etl_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptETLContext, obs_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptObservationContext, action_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptActionContext) leaf_engine.adapt.context.adapt_contexts.AdaptExplorerContext
Parameters:
Return type:

leaf_engine.adapt.context.adapt_contexts.AdaptExplorerContext

leaf_engine.adapt.pipeline.get_etl_context(**kwargs) leaf_engine.adapt.context.AdaptETLContext
Return type:

leaf_engine.adapt.context.AdaptETLContext

leaf_engine.adapt.pipeline.network_pipeline(adapt_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext) leaf_engine.adapt.context.adapt_contexts.AdaptNetworkContext
Parameters:

adapt_cxt (leaf_engine.adapt.context.adapt_contexts.AdaptDataContext) –

Return type:

leaf_engine.adapt.context.adapt_contexts.AdaptNetworkContext

leaf_engine.adapt.pipeline.oa_pipeline(etl_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptETLContext) leaf_engine.adapt.context.adapt_contexts.AdaptOAContext
Parameters:

etl_cxt (leaf_engine.adapt.context.adapt_contexts.AdaptETLContext) –

Return type:

leaf_engine.adapt.context.adapt_contexts.AdaptOAContext

leaf_engine.adapt.pipeline.observation_pipeline(adapt_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext, rate_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptSyntheticRateContext, oa_cxt: leaf_engine.adapt.context.adapt_contexts.AdaptOAContext) leaf_engine.adapt.context.adapt_contexts.AdaptObservationContext
Parameters:
Return type:

leaf_engine.adapt.context.adapt_contexts.AdaptObservationContext

leaf_engine.adapt.pipeline.synthetic_rate_pipeline(cxt: leaf_engine.adapt.context.adapt_contexts.AdaptDataContext) leaf_engine.adapt.context.adapt_contexts.AdaptSyntheticRateContext
Parameters:

cxt (leaf_engine.adapt.context.adapt_contexts.AdaptDataContext) –

Return type:

leaf_engine.adapt.context.adapt_contexts.AdaptSyntheticRateContext

leaf_engine.adapt.schema

leaf_engine.adapt.schema.bool_nullable(name)
leaf_engine.adapt.schema.create_empty_schema(schema: pandera.DataFrameSchema) pandas.DataFrame
Parameters:

schema (pandera.DataFrameSchema) –

Return type:

pandas.DataFrame

leaf_engine.adapt.schema.datetime_nullable(name, coerce=False)
leaf_engine.adapt.schema.extract_schema_script(df, name)
leaf_engine.adapt.schema.float_nullable(name, coerce=False)
leaf_engine.adapt.schema.int_nullable(name, coerce=False)
leaf_engine.adapt.schema.obj_nullable(name)
leaf_engine.adapt.schema.AdaptActionContinuousMoveSchema
leaf_engine.adapt.schema.AdaptActionFlexPerformanceSchema
leaf_engine.adapt.schema.AdaptActionFlexSchema
leaf_engine.adapt.schema.AdaptActionFlexUncommittedSchema
leaf_engine.adapt.schema.AdaptActionFlexWeeklySchema
leaf_engine.adapt.schema.AdaptActionRoundTripSchema
leaf_engine.adapt.schema.AdaptActionShortySchema
leaf_engine.adapt.schema.AdaptActionTriangularCircuitSchema
leaf_engine.adapt.schema.AdaptContinuousMoveSchema
leaf_engine.adapt.schema.AdaptDBLaneSchema
leaf_engine.adapt.schema.AdaptExternalLaneSchema
leaf_engine.adapt.schema.AdaptLaneEquipClassAnnualVolumeSchema
leaf_engine.adapt.schema.AdaptLaneEquipRecentRPMSchema
leaf_engine.adapt.schema.AdaptLaneSchema
leaf_engine.adapt.schema.AdaptLaneSyntheticRateSchema
leaf_engine.adapt.schema.AdaptMarketSchema
leaf_engine.adapt.schema.AdaptMarketSyntheticRateSchema
leaf_engine.adapt.schema.AdaptObservationActualContractRateSpreadSchema
leaf_engine.adapt.schema.AdaptObservationCarrierChurnSchema
leaf_engine.adapt.schema.AdaptObservationDailyPatternSchema
leaf_engine.adapt.schema.AdaptObservationMarketRateVarianceSchema
leaf_engine.adapt.schema.AdaptObservationShouldBeFlexSchema
leaf_engine.adapt.schema.AdaptObservationSpotExposureSchema
leaf_engine.adapt.schema.AdaptObservationWeeklyPatternSchema
leaf_engine.adapt.schema.AdaptPatternSchema
leaf_engine.adapt.schema.AdaptRoundTripSchema
leaf_engine.adapt.schema.AdaptShipmentSchema
leaf_engine.adapt.schema.AdaptTriangularCircuitSchema
leaf_engine.adapt.schema.OAPatternSchema
leaf_engine.adapt.schema.OAShipmentSchema