bfb_delivery.lib package¶
Subpackages¶
- bfb_delivery.lib.dispatch package
- Submodules
- bfb_delivery.lib.dispatch.api_callers module
BaseBFBDeleteCallerBaseBFBGetCallerBaseBFBPostCallerBaseKeyRetrieverBaseOptimizationCallerBaseOptimizationCaller.__init__()BaseOptimizationCaller._abc_implBaseOptimizationCaller._handle_200()BaseOptimizationCaller._min_wait_secondsBaseOptimizationCaller._plan_idBaseOptimizationCaller._plan_titleBaseOptimizationCaller._timeoutBaseOptimizationCaller._wait_secondsBaseOptimizationCaller.finishedBaseOptimizationCaller.operation_id
OptimizationCheckerOptimizationLauncherPagedResponseGetterBFBPlanDeleterPlanDistributorPlanInitializerStopUploader
- bfb_delivery.lib.dispatch.read_circuit module
_clean_title()_count_allhhs_dropped()_count_plan_ids_dropped()_get_plan_responses()_get_raw_plans()_get_raw_stops()_get_raw_stops_list()_get_stops_responses()_getcwd()_make_plans_df()_pare_routes_df()_set_routes_df_values()_split_multi_route_drivers()_warn_and_impute()get_route_files()
- bfb_delivery.lib.dispatch.utils module
- bfb_delivery.lib.dispatch.write_to_circuit module
- Module contents
- bfb_delivery.lib.formatting package
- Submodules
- bfb_delivery.lib.formatting.data_cleaning module
_format_and_validate_address()_format_and_validate_box_type()_format_and_validate_driver()_format_and_validate_email()_format_and_validate_name()_format_and_validate_names_base()_format_and_validate_names_title()_format_and_validate_names_to_upper()_format_and_validate_neighborhood()_format_and_validate_order_count()_format_and_validate_phone()_format_and_validate_product_or_box_type()_format_and_validate_product_type()_format_and_validate_stop_no()_format_int()_format_notes()_format_string()_validate_col_not_empty()_validate_greater_than_zero()_validate_order_count()_validate_stop_no()format_and_validate_data()format_column_names()
- bfb_delivery.lib.formatting.sheet_shaping module
_add_aggregate_block()_add_header_row()_aggregate_route_data()_append_extra_notes()_auto_adjust_column_widths()_get_driver_sets()_get_left_block()_get_right_block()_group_numbered_drivers()_make_manifest_sheet()_merge_and_wrap_neighborhoods()_move_book_one_drivers_to_front()_split_driver_list()_word_wrap_column()_word_wrap_columns()_write_data_to_sheet()combine_route_tables()create_manifests()format_combined_routes()split_chunked_route()
- bfb_delivery.lib.formatting.utils module
- Module contents
- bfb_delivery.lib.schema package
- Subpackages
- Submodules
- bfb_delivery.lib.schema.schema module
CircuitPlansFromDictCircuitPlansOutCircuitPlansTransformInCircuitRoutesTransformInFromDictCircuitRoutesTransformInFromDict.ConfigCircuitRoutesTransformInFromDict.addressCircuitRoutesTransformInFromDict.idCircuitRoutesTransformInFromDict.notesCircuitRoutesTransformInFromDict.orderInfoCircuitRoutesTransformInFromDict.packageCountCircuitRoutesTransformInFromDict.planCircuitRoutesTransformInFromDict.recipientCircuitRoutesTransformInFromDict.routeCircuitRoutesTransformInFromDict.stopPosition
CircuitRoutesTransformOutCircuitRoutesTransformOut.ConfigCircuitRoutesTransformOut.addressCircuitRoutesTransformOut.box_typeCircuitRoutesTransformOut.driver_sheet_nameCircuitRoutesTransformOut.emailCircuitRoutesTransformOut.idCircuitRoutesTransformOut.nameCircuitRoutesTransformOut.neighborhoodCircuitRoutesTransformOut.notesCircuitRoutesTransformOut.orderInfoCircuitRoutesTransformOut.order_countCircuitRoutesTransformOut.phoneCircuitRoutesTransformOut.placeIdCircuitRoutesTransformOut.planCircuitRoutesTransformOut.routeCircuitRoutesTransformOut.route_titleCircuitRoutesTransformOut.stop_no
CircuitRoutesWriteInCircuitRoutesWriteIn.ConfigCircuitRoutesWriteIn.addressCircuitRoutesWriteIn.box_typeCircuitRoutesWriteIn.driver_sheet_nameCircuitRoutesWriteIn.emailCircuitRoutesWriteIn.nameCircuitRoutesWriteIn.neighborhoodCircuitRoutesWriteIn.notesCircuitRoutesWriteIn.order_countCircuitRoutesWriteIn.phoneCircuitRoutesWriteIn.stop_no
CircuitRoutesWriteInAllHHsCircuitRoutesWriteOutDriversAssignDriverInDriversAssignDriversInDriversGetAllDriversOutPlansAssignDriverInPlansAssignDriverOutPlansAssignDriversInPlansAssignDriversOutPlansAssignDriversToPlansOutPlansBuildStopsInPlansConfirmOptimizationsInPlansConfirmOptimizationsOutPlansCreatePlansOutPlansDistributeRoutesInPlansDistributeRoutesOutPlansInitializePlansInPlansInitializePlansOutPlansOptimizeRoutesInPlansOptimizeRoutesOutPlansUploadSplitChunkedOutPlansUploadStopsInPlansUploadStopsOutStops
- bfb_delivery.lib.schema.utils module
- Module contents
Submodules¶
bfb_delivery.lib.constants module¶
Constants used in the project.
- class bfb_delivery.lib.constants.BookOneDrivers¶
Bases:
StrEnumDrivers for the first book.
This is only an enum so it appears in docs.
- DUMMY = 'Dummy'¶
- __new__(value)¶
- static _generate_next_value_(name, start, count, last_values)¶
Return the lower-cased version of the member name.
- class bfb_delivery.lib.constants.BoxType¶
Bases:
StrEnumBox types for the delivery service.
- BASIC = 'BASIC'¶
- GF = 'GF'¶
- LA = 'LA'¶
- VEGAN = 'VEGAN'¶
- __new__(value)¶
- static _generate_next_value_(name, start, count, last_values)¶
Return the lower-cased version of the member name.
- class bfb_delivery.lib.constants.CellColors¶
Bases:
objectColors for spreadsheet formatting.
-
BASIC:
Final[str] = '00FFCC00'¶
-
GF:
Final[str] = '0099CC33'¶
-
HEADER:
Final[str] = '00FFCCCC'¶
-
LA:
Final[str] = '003399CC'¶
-
VEGAN:
Final[str] = '00CCCCCC'¶
-
BASIC:
- class bfb_delivery.lib.constants.CircuitColumns¶
Bases:
objectColumn/field/doc name constants for Circuit API.
-
ACTIVE:
Final[str] = 'active'¶
-
ADDRESS:
Final[str] = 'address'¶
-
ADDRESS_LINE_1:
Final[str] = 'addressLineOne'¶
-
ADDRESS_LINE_2:
Final[str] = 'addressLineTwo'¶
-
ALLOWED_DRIVERS:
Final[str] = 'allowedDrivers'¶
-
CANCELED:
Final[str] = 'canceled'¶
-
CITY:
Final[str] = 'city'¶
-
CODE:
Final[str] = 'code'¶
-
COUNTRY:
Final[str] = 'country'¶
-
DAY:
Final[str] = 'day'¶
-
DEPOT:
Final[str] = 'depot'¶
-
DISTRIBUTED:
Final[str] = 'distributed'¶
-
DONE:
Final[str] = 'done'¶
-
DRIVERS:
Final[str] = 'drivers'¶
-
EMAIL:
Final[str] = 'email'¶
-
EXTERNAL_ID:
Final[str] = 'externalId'¶
-
ID:
Final[str] = 'id'¶
-
METADATA:
Final[str] = 'metadata'¶
-
MONTH:
Final[str] = 'month'¶
-
NAME:
Final[str] = 'name'¶
-
NOTES:
Final[str] = 'notes'¶
-
OPERATIONS:
Final[str] = 'operations'¶
-
OPTIMIZATION:
Final[str] = 'optimization'¶
-
ORDER_INFO:
Final[str] = 'orderInfo'¶
-
PACKAGE_COUNT:
Final[str] = 'packageCount'¶
-
PHONE:
Final[str] = 'phone'¶
-
PLACE_ID:
Final[str] = 'placeId'¶
-
PLAN:
Final[str] = 'plan'¶
-
PLANS:
Final[str] = 'plans'¶
-
PRODUCTS:
Final[str] = 'products'¶
-
RECIPIENT:
Final[str] = 'recipient'¶
-
RESULT:
Final[str] = 'result'¶
-
ROUTE:
Final[str] = 'route'¶
-
SKIPPED_STOPS:
Final[str] = 'skippedStops'¶
-
STARTS:
Final[str] = 'starts'¶
-
STATE:
Final[str] = 'state'¶
-
STOPS:
Final[str] = 'stops'¶
-
STOP_POSITION:
Final[str] = 'stopPosition'¶
-
TITLE:
Final[str] = 'title'¶
-
WRITABLE:
Final[str] = 'writable'¶
-
YEAR:
Final[str] = 'year'¶
-
ZIP:
Final[str] = 'zip'¶
-
ACTIVE:
- class bfb_delivery.lib.constants.Columns¶
Bases:
objectColumn name constants.
-
ADDRESS:
Final[str] = 'Address'¶
-
BOX_COUNT:
Final[str] = 'Box Count'¶
-
BOX_TYPE:
Final[str] = 'Box Type'¶
-
DRIVER:
Final[str] = 'Driver'¶
-
EMAIL:
Final[str] = 'Email'¶
-
NAME:
Final[str] = 'Name'¶
-
NEIGHBORHOOD:
Final[str] = 'Neighborhood'¶
-
NOTES:
Final[str] = 'Notes'¶
-
ORDER_COUNT:
Final[str] = 'Order Count'¶
-
PHONE:
Final[str] = 'Phone'¶
-
PRODUCT_TYPE:
Final[str] = 'Product Type'¶
-
STOP_NO:
Final[str] = 'Stop #'¶
-
ADDRESS:
- class bfb_delivery.lib.constants.DocStrings¶
Bases:
objectDocstrings for the public API.
-
BUILD_ROUTES_FROM_CHUNKED:
Final= <comb_utils.lib.docs.DocString object>¶
-
COMBINE_ROUTE_TABLES:
Final= <comb_utils.lib.docs.DocString object>¶
-
CREATE_MANIFESTS:
Final= <comb_utils.lib.docs.DocString object>¶
-
CREATE_MANIFESTS_FROM_CIRCUIT:
Final= <comb_utils.lib.docs.DocString object>¶
-
FORMAT_COMBINED_ROUTES:
Final= <comb_utils.lib.docs.DocString object>¶
-
SPLIT_CHUNKED_ROUTE:
Final= <comb_utils.lib.docs.DocString object>¶
-
BUILD_ROUTES_FROM_CHUNKED:
- class bfb_delivery.lib.constants.ExtraNotes¶
Bases:
objectExtra notes to add at bottom of manifests when any stop is tagged.
Is a class so it appears in docs.
- __init__()¶
Initialize the extra notes df.
-
df:
Final[DataFrame]¶ Extra notes DataFrame. The columns are “tag” and “note”. Made from notes.
-
notes:
Final[list[tuple[str,str]]] = []¶ (“Cascade Meadows Apartments*”, “Note here.”)
- Type:
Tuples of tag and note. Example
- class bfb_delivery.lib.constants.IntermediateColumns¶
Bases:
objectColumn name constants for intermediate tables.
-
DRIVER_NAME:
Final[str] = 'driver_name'¶
-
DRIVER_SHEET_NAME:
Final[str] = 'driver_sheet_name'¶
-
INITIALIZED:
Final[str] = 'initialized'¶
-
OPTIMIZED:
Final[str] = 'optimized'¶
-
PLAN_ID:
Final[str] = 'plan_id'¶
-
ROUTE_TITLE:
Final[str] = 'route_title'¶
-
SHEET_NAME:
Final[str] = 'sheet_name'¶
-
START_DATE:
Final[str] = 'start_date'¶
-
STOPS_UPLOADED:
Final[str] = 'stops_uploaded'¶
-
DRIVER_NAME:
- class bfb_delivery.lib.constants.RateLimits¶
Bases:
objectRate limits for Circuit API.
-
BATCH_STOP_IMPORT_MAX_STOPS:
Final[int] = 1000¶
-
BATCH_STOP_IMPORT_SECONDS:
Final[float] = 6¶
-
OPTIMIZATION_PER_SECOND:
Final[float] = 20¶
-
OPTIMIZATION_TIMEOUT_SECONDS:
Final[float] = 10¶
-
READ_SECONDS:
Final[float] = 0.1¶
-
READ_TIMEOUT_SECONDS:
Final[float] = 10¶
-
WAIT_DECREASE_SECONDS:
Final[float] = 0.6¶
-
WAIT_INCREASE_SCALAR:
Final[float] = 2¶
-
WRITE_SECONDS:
Final[float] = 0.2¶
-
WRITE_TIMEOUT_SECONDS:
Final[float] = 10¶
-
BATCH_STOP_IMPORT_MAX_STOPS:
bfb_delivery.lib.errors module¶
Module for custom exceptions.
- exception bfb_delivery.lib.errors.AssignmentOutOfRange¶
Bases:
BFBErrorRaised when a user selects a driver index out of range.
- exception bfb_delivery.lib.errors.BFBError¶
Bases:
ExceptionBase class for exceptions in this module.
bfb_delivery.lib.utils module¶
Utility functions for the bfb_delivery module.
- bfb_delivery.lib.utils.get_friday(fmt)¶
Get the soonest Friday.
- Return type:
str
Module contents¶
lib init.