or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

batch-operations.mdclient-configuration.mddata-model.mdindex.mdroute-optimization.md
tile.json

tessl/pypi-google-maps-routeoptimization

Google Maps Route Optimization API client library for assigning tasks and routes to vehicle fleets while optimizing against custom objectives and constraints.

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/google-maps-routeoptimization@0.1.x

To install, run

npx @tessl/cli install tessl/pypi-google-maps-routeoptimization@0.1.0

index.mddocs/

Google Maps Route Optimization

A Python client library for Google's Route Optimization API that assigns tasks and routes to vehicle fleets while optimizing against custom objectives and constraints. This library provides comprehensive fleet management capabilities including route planning, task assignment, vehicle constraints handling, and optimization algorithms that consider factors like delivery windows, vehicle capacities, driver schedules, and traffic conditions.

Package Information

  • Package Name: google-maps-routeoptimization
  • Language: Python
  • Installation: pip install google-maps-routeoptimization

Core Imports

from google.maps import routeoptimization_v1

Alternative import (equivalent):

from google.maps import routeoptimization

Specific component imports:

from google.maps.routeoptimization_v1 import (
    RouteOptimizationClient,
    RouteOptimizationAsyncClient,
    OptimizeToursRequest,
    OptimizeToursResponse,
    BatchOptimizeToursRequest
)
from google.maps.routeoptimization_v1.types import (
    Shipment,
    Vehicle,
    ShipmentModel,
    Location,
    TimeWindow
)

Basic Usage

from google.maps import routeoptimization_v1

# Create a client
client = routeoptimization_v1.RouteOptimizationClient()

# Create a simple optimization request
request = routeoptimization_v1.OptimizeToursRequest(
    parent="projects/your-project-id",
    model=routeoptimization_v1.ShipmentModel(
        shipments=[
            routeoptimization_v1.Shipment(
                display_name="Package 1",
                pickups=[{
                    "location": {"lat_lng": {"latitude": 37.7749, "longitude": -122.4194}},
                    "time_windows": [{"start_time": {"seconds": 0}, "end_time": {"seconds": 86400}}]
                }],
                deliveries=[{
                    "location": {"lat_lng": {"latitude": 37.7849, "longitude": -122.4094}},
                    "time_windows": [{"start_time": {"seconds": 0}, "end_time": {"seconds": 86400}}]
                }]
            )
        ],
        vehicles=[
            routeoptimization_v1.Vehicle(
                display_name="Vehicle 1",
                start_location={"lat_lng": {"latitude": 37.7649, "longitude": -122.4294}},
                end_location={"lat_lng": {"latitude": 37.7649, "longitude": -122.4294}}
            )
        ]
    )
)

# Make the request
response = client.optimize_tours(request=request)

# Process the optimized routes
for route in response.routes:
    print(f"Vehicle {route.vehicle_index}: {len(route.visits)} stops")

Architecture

The API follows Google Cloud client library patterns:

  • Client Classes: Synchronous (RouteOptimizationClient) and asynchronous (RouteOptimizationAsyncClient) clients
  • Request/Response Pattern: Strongly-typed proto message classes for all API calls
  • Data Model: Rich type system representing optimization problems through ShipmentModel, Shipment, Vehicle, and related classes
  • Long Running Operations: Batch operations return LRO handles for monitoring large-scale optimizations
  • Authentication: Integrates with Google Cloud authentication (service accounts, application default credentials)
  • Error Handling: Uses google.api_core.exceptions for standardized error handling

Capabilities

Route Optimization

Core single-request route optimization functionality for optimizing vehicle tours against custom objectives and constraints.

def optimize_tours(
    request: OptimizeToursRequest,
    *,
    retry: Optional[Retry] = gapic_v1.method.DEFAULT,
    timeout: Union[float, object] = gapic_v1.method.DEFAULT,
    metadata: Sequence[Tuple[str, Union[str, bytes]]] = ()
) -> OptimizeToursResponse: ...

Route Optimization

Batch Operations

Batch processing capabilities for optimizing multiple route optimization requests as long-running operations with Cloud Storage integration.

def batch_optimize_tours(
    request: BatchOptimizeToursRequest,
    *,
    retry: Optional[Retry] = gapic_v1.method.DEFAULT,
    timeout: Union[float, object] = gapic_v1.method.DEFAULT,
    metadata: Sequence[Tuple[str, Union[str, bytes]]] = ()
) -> operation.Operation: ...

Batch Operations

Data Model

Comprehensive data model for representing route optimization problems including shipments, vehicles, constraints, time windows, and optimization parameters.

class ShipmentModel: ...
class Shipment: ...
class Vehicle: ...
class Location: ...
class TimeWindow: ...
class BreakRule: ...
class DistanceLimit: ...

Data Model

Client Configuration

Client instantiation, authentication, and configuration options for both synchronous and asynchronous operation modes.

class RouteOptimizationClient:
    def __init__(self, *, credentials: Optional[ga_credentials.Credentials] = None, ...): ...
    @classmethod
    def from_service_account_info(cls, info: dict, *args, **kwargs): ...
    @classmethod
    def from_service_account_file(cls, filename: str, *args, **kwargs): ...

class RouteOptimizationAsyncClient:
    def __init__(self, *, credentials: Optional[ga_credentials.Credentials] = None, ...): ...

Client Configuration