bfb_delivery.lib package¶
Subpackages¶
- bfb_delivery.lib.dispatch package
- Submodules
- bfb_delivery.lib.dispatch.api_callers module
BaseBFBDeleteCaller
BaseBFBGetCaller
BaseBFBPostCaller
BaseKeyRetriever
BaseOptimizationCaller
BaseOptimizationCaller.__init__()
BaseOptimizationCaller._handle_200()
BaseOptimizationCaller._min_wait_seconds
BaseOptimizationCaller._plan_id
BaseOptimizationCaller._plan_title
BaseOptimizationCaller._timeout
BaseOptimizationCaller._wait_seconds
BaseOptimizationCaller.finished
BaseOptimizationCaller.operation_id
OptimizationChecker
OptimizationLauncher
PagedResponseGetterBFB
PlanDeleter
PlanDistributor
PlanInitializer
StopUploader
- 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
CircuitPlansFromDict
CircuitPlansOut
CircuitPlansTransformIn
CircuitRoutesTransformInFromDict
CircuitRoutesTransformInFromDict.Config
CircuitRoutesTransformInFromDict.address
CircuitRoutesTransformInFromDict.id
CircuitRoutesTransformInFromDict.notes
CircuitRoutesTransformInFromDict.orderInfo
CircuitRoutesTransformInFromDict.packageCount
CircuitRoutesTransformInFromDict.plan
CircuitRoutesTransformInFromDict.recipient
CircuitRoutesTransformInFromDict.route
CircuitRoutesTransformInFromDict.stopPosition
CircuitRoutesTransformOut
CircuitRoutesTransformOut.Config
CircuitRoutesTransformOut.address
CircuitRoutesTransformOut.box_type
CircuitRoutesTransformOut.driver_sheet_name
CircuitRoutesTransformOut.email
CircuitRoutesTransformOut.id
CircuitRoutesTransformOut.name
CircuitRoutesTransformOut.neighborhood
CircuitRoutesTransformOut.notes
CircuitRoutesTransformOut.orderInfo
CircuitRoutesTransformOut.order_count
CircuitRoutesTransformOut.phone
CircuitRoutesTransformOut.placeId
CircuitRoutesTransformOut.plan
CircuitRoutesTransformOut.route
CircuitRoutesTransformOut.route_title
CircuitRoutesTransformOut.stop_no
CircuitRoutesWriteIn
CircuitRoutesWriteIn.Config
CircuitRoutesWriteIn.address
CircuitRoutesWriteIn.box_type
CircuitRoutesWriteIn.driver_sheet_name
CircuitRoutesWriteIn.email
CircuitRoutesWriteIn.name
CircuitRoutesWriteIn.neighborhood
CircuitRoutesWriteIn.notes
CircuitRoutesWriteIn.order_count
CircuitRoutesWriteIn.phone
CircuitRoutesWriteIn.stop_no
CircuitRoutesWriteInAllHHs
CircuitRoutesWriteOut
DriversAssignDriverIn
DriversAssignDriversIn
DriversGetAllDriversOut
PlansAssignDriverIn
PlansAssignDriverOut
PlansAssignDriversIn
PlansAssignDriversOut
PlansAssignDriversToPlansOut
PlansBuildStopsIn
PlansConfirmOptimizationsIn
PlansConfirmOptimizationsOut
PlansCreatePlansOut
PlansDistributeRoutesIn
PlansDistributeRoutesOut
PlansInitializePlansIn
PlansInitializePlansOut
PlansOptimizeRoutesIn
PlansOptimizeRoutesOut
PlansUploadSplitChunkedOut
PlansUploadStopsIn
PlansUploadStopsOut
Stops
- 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:
StrEnum
Drivers 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:
StrEnum
Box 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:
object
Colors 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:
object
Column/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'¶
-
ADDRESS_NAME:
Final
[str
] = 'addressName'¶
-
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:
object
Column 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.Defaults¶
Bases:
object
Default values. E.g., for syncing public API with CLI.
-
BUILD_ROUTES_FROM_CHUNKED:
Final
[dict
[str
,str
|bool
]] = {'book_one_drivers_file': '', 'extra_notes_file': '', 'no_distribute': False, 'output_dir': '', 'start_date': '', 'verbose': False}¶
-
COMBINE_ROUTE_TABLES:
Final
[dict
[str
,str
]] = {'output_dir': '', 'output_filename': ''}¶
-
CREATE_MANIFESTS:
Final
[dict
[str
,str
]] = {'extra_notes_file': '', 'output_dir': '', 'output_filename': ''}¶
-
CREATE_MANIFESTS_FROM_CIRCUIT:
Final
[dict
[str
,str
|bool
|list
]] = {'all_hhs': False, 'circuit_output_dir': '', 'end_date': '', 'extra_notes_file': '', 'output_dir': '', 'output_filename': '', 'plan_ids': [], 'start_date': '', 'verbose': False}¶
-
FORMAT_COMBINED_ROUTES:
Final
[dict
[str
,str
]] = {'extra_notes_file': '', 'output_dir': '', 'output_filename': ''}¶
-
SPLIT_CHUNKED_ROUTE:
Final
[dict
[str
,str
|int
]] = {'book_one_drivers_file': '', 'date': '', 'n_books': 4, 'output_dir': '', 'output_filename': ''}¶
-
BUILD_ROUTES_FROM_CHUNKED:
- class bfb_delivery.lib.constants.DocStrings¶
Bases:
object
Docstrings 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:
object
Extra 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:
object
Column 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:
object
Rate 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:
BFBError
Raised when a user selects a driver index out of range.
- exception bfb_delivery.lib.errors.BFBError¶
Bases:
Exception
Base 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.