google-maps-routeoptimization 0.1.11__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {google_maps_routeoptimization-0.1.11/google_maps_routeoptimization.egg-info → google_maps_routeoptimization-0.2.0}/PKG-INFO +5 -2
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/README.rst +1 -1
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization/__init__.py +12 -0
- google_maps_routeoptimization-0.2.0/google/maps/routeoptimization/gapic_version.py +16 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/__init__.py +12 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/gapic_metadata.json +30 -0
- google_maps_routeoptimization-0.2.0/google/maps/routeoptimization_v1/gapic_version.py +16 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/services/route_optimization/async_client.py +267 -14
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/services/route_optimization/client.py +265 -14
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/services/route_optimization/transports/base.py +31 -2
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/services/route_optimization/transports/grpc.py +123 -17
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/services/route_optimization/transports/grpc_asyncio.py +135 -17
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/services/route_optimization/transports/rest.py +464 -16
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/services/route_optimization/transports/rest_base.py +124 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/types/__init__.py +12 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/types/route_optimization_service.py +816 -149
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0/google_maps_routeoptimization.egg-info}/PKG-INFO +5 -2
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google_maps_routeoptimization.egg-info/requires.txt +4 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/setup.py +3 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/tests/unit/gapic/routeoptimization_v1/test_route_optimization.py +1465 -280
- google_maps_routeoptimization-0.1.11/google/maps/routeoptimization/gapic_version.py +0 -16
- google_maps_routeoptimization-0.1.11/google/maps/routeoptimization_v1/gapic_version.py +0 -16
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/LICENSE +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/MANIFEST.in +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization/py.typed +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/py.typed +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/services/__init__.py +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/services/route_optimization/__init__.py +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google/maps/routeoptimization_v1/services/route_optimization/transports/__init__.py +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google_maps_routeoptimization.egg-info/SOURCES.txt +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google_maps_routeoptimization.egg-info/dependency_links.txt +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google_maps_routeoptimization.egg-info/not-zip-safe +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/google_maps_routeoptimization.egg-info/top_level.txt +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/setup.cfg +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/tests/__init__.py +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/tests/unit/__init__.py +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/tests/unit/gapic/__init__.py +0 -0
- {google_maps_routeoptimization-0.1.11 → google_maps_routeoptimization-0.2.0}/tests/unit/gapic/routeoptimization_v1/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: google-maps-routeoptimization
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Google Maps Routeoptimization API client library
|
|
5
5
|
Home-page: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-maps-routeoptimization
|
|
6
6
|
Author: Google LLC
|
|
@@ -19,12 +19,15 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
22
23
|
Classifier: Operating System :: OS Independent
|
|
23
24
|
Classifier: Topic :: Internet
|
|
24
25
|
Requires-Python: >=3.7
|
|
25
26
|
License-File: LICENSE
|
|
26
27
|
Requires-Dist: google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0,>=1.34.1
|
|
27
28
|
Requires-Dist: google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1
|
|
29
|
+
Requires-Dist: grpcio<2.0.0,>=1.33.2
|
|
30
|
+
Requires-Dist: grpcio<2.0.0,>=1.75.1; python_version >= "3.14"
|
|
28
31
|
Requires-Dist: proto-plus<2.0.0,>=1.22.3
|
|
29
32
|
Requires-Dist: proto-plus<2.0.0,>=1.25.0; python_version >= "3.13"
|
|
30
33
|
Requires-Dist: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<7.0.0,>=3.20.2
|
|
@@ -103,7 +106,7 @@ Supported Python Versions
|
|
|
103
106
|
Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
|
|
104
107
|
Python.
|
|
105
108
|
|
|
106
|
-
Python >= 3.7
|
|
109
|
+
Python >= 3.7, including 3.14
|
|
107
110
|
|
|
108
111
|
.. _active: https://devguide.python.org/devcycle/#in-development-main-branch
|
|
109
112
|
.. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
|
|
@@ -61,7 +61,7 @@ Supported Python Versions
|
|
|
61
61
|
Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
|
|
62
62
|
Python.
|
|
63
63
|
|
|
64
|
-
Python >= 3.7
|
|
64
|
+
Python >= 3.7, including 3.14
|
|
65
65
|
|
|
66
66
|
.. _active: https://devguide.python.org/devcycle/#in-development-main-branch
|
|
67
67
|
.. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
|
|
@@ -37,8 +37,12 @@ from google.maps.routeoptimization_v1.types.route_optimization_service import (
|
|
|
37
37
|
InjectedSolutionConstraint,
|
|
38
38
|
InputConfig,
|
|
39
39
|
Location,
|
|
40
|
+
OptimizeToursLongRunningMetadata,
|
|
40
41
|
OptimizeToursRequest,
|
|
41
42
|
OptimizeToursResponse,
|
|
43
|
+
OptimizeToursUriMetadata,
|
|
44
|
+
OptimizeToursUriRequest,
|
|
45
|
+
OptimizeToursUriResponse,
|
|
42
46
|
OptimizeToursValidationError,
|
|
43
47
|
OutputConfig,
|
|
44
48
|
RouteModifiers,
|
|
@@ -50,7 +54,9 @@ from google.maps.routeoptimization_v1.types.route_optimization_service import (
|
|
|
50
54
|
SkippedShipment,
|
|
51
55
|
TimeWindow,
|
|
52
56
|
TransitionAttributes,
|
|
57
|
+
Uri,
|
|
53
58
|
Vehicle,
|
|
59
|
+
VehicleFullness,
|
|
54
60
|
Waypoint,
|
|
55
61
|
)
|
|
56
62
|
|
|
@@ -68,8 +74,12 @@ __all__ = (
|
|
|
68
74
|
"InjectedSolutionConstraint",
|
|
69
75
|
"InputConfig",
|
|
70
76
|
"Location",
|
|
77
|
+
"OptimizeToursLongRunningMetadata",
|
|
71
78
|
"OptimizeToursRequest",
|
|
72
79
|
"OptimizeToursResponse",
|
|
80
|
+
"OptimizeToursUriMetadata",
|
|
81
|
+
"OptimizeToursUriRequest",
|
|
82
|
+
"OptimizeToursUriResponse",
|
|
73
83
|
"OptimizeToursValidationError",
|
|
74
84
|
"OutputConfig",
|
|
75
85
|
"RouteModifiers",
|
|
@@ -81,7 +91,9 @@ __all__ = (
|
|
|
81
91
|
"SkippedShipment",
|
|
82
92
|
"TimeWindow",
|
|
83
93
|
"TransitionAttributes",
|
|
94
|
+
"Uri",
|
|
84
95
|
"Vehicle",
|
|
96
|
+
"VehicleFullness",
|
|
85
97
|
"Waypoint",
|
|
86
98
|
"DataFormat",
|
|
87
99
|
)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Copyright 2025 Google LLC
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
#
|
|
16
|
+
__version__ = "0.2.0" # {x-release-please-version}
|
|
@@ -35,8 +35,12 @@ from .types.route_optimization_service import (
|
|
|
35
35
|
InjectedSolutionConstraint,
|
|
36
36
|
InputConfig,
|
|
37
37
|
Location,
|
|
38
|
+
OptimizeToursLongRunningMetadata,
|
|
38
39
|
OptimizeToursRequest,
|
|
39
40
|
OptimizeToursResponse,
|
|
41
|
+
OptimizeToursUriMetadata,
|
|
42
|
+
OptimizeToursUriRequest,
|
|
43
|
+
OptimizeToursUriResponse,
|
|
40
44
|
OptimizeToursValidationError,
|
|
41
45
|
OutputConfig,
|
|
42
46
|
RouteModifiers,
|
|
@@ -48,7 +52,9 @@ from .types.route_optimization_service import (
|
|
|
48
52
|
SkippedShipment,
|
|
49
53
|
TimeWindow,
|
|
50
54
|
TransitionAttributes,
|
|
55
|
+
Uri,
|
|
51
56
|
Vehicle,
|
|
57
|
+
VehicleFullness,
|
|
52
58
|
Waypoint,
|
|
53
59
|
)
|
|
54
60
|
|
|
@@ -66,8 +72,12 @@ __all__ = (
|
|
|
66
72
|
"InjectedSolutionConstraint",
|
|
67
73
|
"InputConfig",
|
|
68
74
|
"Location",
|
|
75
|
+
"OptimizeToursLongRunningMetadata",
|
|
69
76
|
"OptimizeToursRequest",
|
|
70
77
|
"OptimizeToursResponse",
|
|
78
|
+
"OptimizeToursUriMetadata",
|
|
79
|
+
"OptimizeToursUriRequest",
|
|
80
|
+
"OptimizeToursUriResponse",
|
|
71
81
|
"OptimizeToursValidationError",
|
|
72
82
|
"OutputConfig",
|
|
73
83
|
"RouteModifiers",
|
|
@@ -80,6 +90,8 @@ __all__ = (
|
|
|
80
90
|
"SkippedShipment",
|
|
81
91
|
"TimeWindow",
|
|
82
92
|
"TransitionAttributes",
|
|
93
|
+
"Uri",
|
|
83
94
|
"Vehicle",
|
|
95
|
+
"VehicleFullness",
|
|
84
96
|
"Waypoint",
|
|
85
97
|
)
|
|
@@ -19,6 +19,16 @@
|
|
|
19
19
|
"methods": [
|
|
20
20
|
"optimize_tours"
|
|
21
21
|
]
|
|
22
|
+
},
|
|
23
|
+
"OptimizeToursLongRunning": {
|
|
24
|
+
"methods": [
|
|
25
|
+
"optimize_tours_long_running"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"OptimizeToursUri": {
|
|
29
|
+
"methods": [
|
|
30
|
+
"optimize_tours_uri"
|
|
31
|
+
]
|
|
22
32
|
}
|
|
23
33
|
}
|
|
24
34
|
},
|
|
@@ -34,6 +44,16 @@
|
|
|
34
44
|
"methods": [
|
|
35
45
|
"optimize_tours"
|
|
36
46
|
]
|
|
47
|
+
},
|
|
48
|
+
"OptimizeToursLongRunning": {
|
|
49
|
+
"methods": [
|
|
50
|
+
"optimize_tours_long_running"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"OptimizeToursUri": {
|
|
54
|
+
"methods": [
|
|
55
|
+
"optimize_tours_uri"
|
|
56
|
+
]
|
|
37
57
|
}
|
|
38
58
|
}
|
|
39
59
|
},
|
|
@@ -49,6 +69,16 @@
|
|
|
49
69
|
"methods": [
|
|
50
70
|
"optimize_tours"
|
|
51
71
|
]
|
|
72
|
+
},
|
|
73
|
+
"OptimizeToursLongRunning": {
|
|
74
|
+
"methods": [
|
|
75
|
+
"optimize_tours_long_running"
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"OptimizeToursUri": {
|
|
79
|
+
"methods": [
|
|
80
|
+
"optimize_tours_uri"
|
|
81
|
+
]
|
|
52
82
|
}
|
|
53
83
|
}
|
|
54
84
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Copyright 2025 Google LLC
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
#
|
|
16
|
+
__version__ = "0.2.0" # {x-release-please-version}
|
|
@@ -69,25 +69,24 @@ class RouteOptimizationAsyncClient:
|
|
|
69
69
|
|
|
70
70
|
Validity of certain types of fields:
|
|
71
71
|
|
|
72
|
-
-
|
|
72
|
+
- ``google.protobuf.Timestamp``
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
- nanos must be unset or set to 0.
|
|
74
|
+
- Times are in Unix time: seconds since 1970-01-01T00:00:00+00:00.
|
|
75
|
+
- seconds must be in [0, 253402300799], i.e. in
|
|
76
|
+
[1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00].
|
|
77
|
+
- nanos must be unset or set to 0.
|
|
79
78
|
|
|
80
|
-
-
|
|
79
|
+
- ``google.protobuf.Duration``
|
|
81
80
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
- seconds must be in [0, 253402300799], i.e. in
|
|
82
|
+
[1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00].
|
|
83
|
+
- nanos must be unset or set to 0.
|
|
85
84
|
|
|
86
|
-
-
|
|
85
|
+
- ``google.type.LatLng``
|
|
87
86
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
- latitude must be in [-90.0, 90.0].
|
|
88
|
+
- longitude must be in [-180.0, 180.0].
|
|
89
|
+
- at least one of latitude and longitude must be non-zero.
|
|
91
90
|
"""
|
|
92
91
|
|
|
93
92
|
_client: RouteOptimizationClient
|
|
@@ -564,6 +563,260 @@ class RouteOptimizationAsyncClient:
|
|
|
564
563
|
# Done; return the response.
|
|
565
564
|
return response
|
|
566
565
|
|
|
566
|
+
async def optimize_tours_long_running(
|
|
567
|
+
self,
|
|
568
|
+
request: Optional[
|
|
569
|
+
Union[route_optimization_service.OptimizeToursRequest, dict]
|
|
570
|
+
] = None,
|
|
571
|
+
*,
|
|
572
|
+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
|
|
573
|
+
timeout: Union[float, object] = gapic_v1.method.DEFAULT,
|
|
574
|
+
metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
|
|
575
|
+
) -> operation_async.AsyncOperation:
|
|
576
|
+
r"""This is a variant of the
|
|
577
|
+
[OptimizeTours][google.maps.routeoptimization.v1.RouteOptimization.OptimizeTours]
|
|
578
|
+
method designed for optimizations with large timeout values. It
|
|
579
|
+
should be preferred over the ``OptimizeTours`` method for
|
|
580
|
+
optimizations that take longer than a few minutes.
|
|
581
|
+
|
|
582
|
+
The returned [long-running
|
|
583
|
+
operation][google.longrunning.Operation] (LRO) will have a name
|
|
584
|
+
of the format ``<parent>/operations/<operation_id>`` and can be
|
|
585
|
+
used to track progress of the computation. The
|
|
586
|
+
[metadata][google.longrunning.Operation.metadata] field type is
|
|
587
|
+
[OptimizeToursLongRunningMetadata][google.maps.routeoptimization.v1.OptimizeToursLongRunningMetadata].
|
|
588
|
+
The [response][google.longrunning.Operation.response] field type
|
|
589
|
+
is
|
|
590
|
+
[OptimizeToursResponse][google.maps.routeoptimization.v1.OptimizeToursResponse],
|
|
591
|
+
if successful.
|
|
592
|
+
|
|
593
|
+
Experimental: See
|
|
594
|
+
https://developers.google.com/maps/tt/route-optimization/experimental/otlr/make-request
|
|
595
|
+
for more details.
|
|
596
|
+
|
|
597
|
+
.. code-block:: python
|
|
598
|
+
|
|
599
|
+
# This snippet has been automatically generated and should be regarded as a
|
|
600
|
+
# code template only.
|
|
601
|
+
# It will require modifications to work:
|
|
602
|
+
# - It may require correct/in-range values for request initialization.
|
|
603
|
+
# - It may require specifying regional endpoints when creating the service
|
|
604
|
+
# client as shown in:
|
|
605
|
+
# https://googleapis.dev/python/google-api-core/latest/client_options.html
|
|
606
|
+
from google.maps import routeoptimization_v1
|
|
607
|
+
|
|
608
|
+
async def sample_optimize_tours_long_running():
|
|
609
|
+
# Create a client
|
|
610
|
+
client = routeoptimization_v1.RouteOptimizationAsyncClient()
|
|
611
|
+
|
|
612
|
+
# Initialize request argument(s)
|
|
613
|
+
request = routeoptimization_v1.OptimizeToursRequest(
|
|
614
|
+
parent="parent_value",
|
|
615
|
+
)
|
|
616
|
+
|
|
617
|
+
# Make the request
|
|
618
|
+
operation = client.optimize_tours_long_running(request=request)
|
|
619
|
+
|
|
620
|
+
print("Waiting for operation to complete...")
|
|
621
|
+
|
|
622
|
+
response = (await operation).result()
|
|
623
|
+
|
|
624
|
+
# Handle the response
|
|
625
|
+
print(response)
|
|
626
|
+
|
|
627
|
+
Args:
|
|
628
|
+
request (Optional[Union[google.maps.routeoptimization_v1.types.OptimizeToursRequest, dict]]):
|
|
629
|
+
The request object. Request to be given to a tour
|
|
630
|
+
optimization solver which defines the
|
|
631
|
+
shipment model to solve as well as
|
|
632
|
+
optimization parameters.
|
|
633
|
+
retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any,
|
|
634
|
+
should be retried.
|
|
635
|
+
timeout (float): The timeout for this request.
|
|
636
|
+
metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
|
|
637
|
+
sent along with the request as metadata. Normally, each value must be of type `str`,
|
|
638
|
+
but for metadata keys ending with the suffix `-bin`, the corresponding values must
|
|
639
|
+
be of type `bytes`.
|
|
640
|
+
|
|
641
|
+
Returns:
|
|
642
|
+
google.api_core.operation_async.AsyncOperation:
|
|
643
|
+
An object representing a long-running operation.
|
|
644
|
+
|
|
645
|
+
The result type for the operation will be :class:`google.maps.routeoptimization_v1.types.OptimizeToursResponse` Response after solving a tour optimization problem containing the routes
|
|
646
|
+
followed by each vehicle, the shipments which have
|
|
647
|
+
been skipped and the overall cost of the solution.
|
|
648
|
+
|
|
649
|
+
"""
|
|
650
|
+
# Create or coerce a protobuf request object.
|
|
651
|
+
# - Use the request object if provided (there's no risk of modifying the input as
|
|
652
|
+
# there are no flattened fields), or create one.
|
|
653
|
+
if not isinstance(request, route_optimization_service.OptimizeToursRequest):
|
|
654
|
+
request = route_optimization_service.OptimizeToursRequest(request)
|
|
655
|
+
|
|
656
|
+
# Wrap the RPC method; this adds retry and timeout information,
|
|
657
|
+
# and friendly error handling.
|
|
658
|
+
rpc = self._client._transport._wrapped_methods[
|
|
659
|
+
self._client._transport.optimize_tours_long_running
|
|
660
|
+
]
|
|
661
|
+
|
|
662
|
+
# Certain fields should be provided within the metadata header;
|
|
663
|
+
# add these here.
|
|
664
|
+
metadata = tuple(metadata) + (
|
|
665
|
+
gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)),
|
|
666
|
+
)
|
|
667
|
+
|
|
668
|
+
# Validate the universe domain.
|
|
669
|
+
self._client._validate_universe_domain()
|
|
670
|
+
|
|
671
|
+
# Send the request.
|
|
672
|
+
response = await rpc(
|
|
673
|
+
request,
|
|
674
|
+
retry=retry,
|
|
675
|
+
timeout=timeout,
|
|
676
|
+
metadata=metadata,
|
|
677
|
+
)
|
|
678
|
+
|
|
679
|
+
# Wrap the response in an operation future.
|
|
680
|
+
response = operation_async.from_gapic(
|
|
681
|
+
response,
|
|
682
|
+
self._client._transport.operations_client,
|
|
683
|
+
route_optimization_service.OptimizeToursResponse,
|
|
684
|
+
metadata_type=route_optimization_service.OptimizeToursLongRunningMetadata,
|
|
685
|
+
)
|
|
686
|
+
|
|
687
|
+
# Done; return the response.
|
|
688
|
+
return response
|
|
689
|
+
|
|
690
|
+
async def optimize_tours_uri(
|
|
691
|
+
self,
|
|
692
|
+
request: Optional[
|
|
693
|
+
Union[route_optimization_service.OptimizeToursUriRequest, dict]
|
|
694
|
+
] = None,
|
|
695
|
+
*,
|
|
696
|
+
retry: OptionalRetry = gapic_v1.method.DEFAULT,
|
|
697
|
+
timeout: Union[float, object] = gapic_v1.method.DEFAULT,
|
|
698
|
+
metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
|
|
699
|
+
) -> operation_async.AsyncOperation:
|
|
700
|
+
r"""This is a variant of the
|
|
701
|
+
[OptimizeToursLongRunning][google.maps.routeoptimization.v1.RouteOptimization.OptimizeToursLongRunning]
|
|
702
|
+
method designed for optimizations with large timeout values and
|
|
703
|
+
large input/output sizes.
|
|
704
|
+
|
|
705
|
+
The client specifies the URI of the ``OptimizeToursRequest``
|
|
706
|
+
stored in Google Cloud Storage and the server writes the
|
|
707
|
+
``OptimizeToursResponse`` to a client-specified Google Cloud
|
|
708
|
+
Storage URI.
|
|
709
|
+
|
|
710
|
+
This method should be preferred over the ``OptimizeTours``
|
|
711
|
+
method for optimizations that take longer than a few minutes and
|
|
712
|
+
input/output sizes that are larger than 8MB, though it can be
|
|
713
|
+
used for shorter and smaller optimizations as well.
|
|
714
|
+
|
|
715
|
+
The returned [long-running
|
|
716
|
+
operation][google.longrunning.Operation] (LRO) will have a name
|
|
717
|
+
of the format ``<parent>/operations/<operation_id>`` and can be
|
|
718
|
+
used to track progress of the computation. The
|
|
719
|
+
[metadata][google.longrunning.Operation.metadata] field type is
|
|
720
|
+
[OptimizeToursLongRunningMetadata][google.maps.routeoptimization.v1.OptimizeToursUriMetadata].
|
|
721
|
+
The [response][google.longrunning.Operation.response] field type
|
|
722
|
+
is
|
|
723
|
+
[OptimizeToursUriResponse][google.maps.routeoptimization.v1.OptimizeToursUriResponse],
|
|
724
|
+
if successful.
|
|
725
|
+
|
|
726
|
+
Experimental: See
|
|
727
|
+
https://developers.google.com/maps/tt/route-optimization/experimental/otlr/make-request
|
|
728
|
+
for more details.
|
|
729
|
+
|
|
730
|
+
.. code-block:: python
|
|
731
|
+
|
|
732
|
+
# This snippet has been automatically generated and should be regarded as a
|
|
733
|
+
# code template only.
|
|
734
|
+
# It will require modifications to work:
|
|
735
|
+
# - It may require correct/in-range values for request initialization.
|
|
736
|
+
# - It may require specifying regional endpoints when creating the service
|
|
737
|
+
# client as shown in:
|
|
738
|
+
# https://googleapis.dev/python/google-api-core/latest/client_options.html
|
|
739
|
+
from google.maps import routeoptimization_v1
|
|
740
|
+
|
|
741
|
+
async def sample_optimize_tours_uri():
|
|
742
|
+
# Create a client
|
|
743
|
+
client = routeoptimization_v1.RouteOptimizationAsyncClient()
|
|
744
|
+
|
|
745
|
+
# Initialize request argument(s)
|
|
746
|
+
request = routeoptimization_v1.OptimizeToursUriRequest(
|
|
747
|
+
parent="parent_value",
|
|
748
|
+
)
|
|
749
|
+
|
|
750
|
+
# Make the request
|
|
751
|
+
operation = client.optimize_tours_uri(request=request)
|
|
752
|
+
|
|
753
|
+
print("Waiting for operation to complete...")
|
|
754
|
+
|
|
755
|
+
response = (await operation).result()
|
|
756
|
+
|
|
757
|
+
# Handle the response
|
|
758
|
+
print(response)
|
|
759
|
+
|
|
760
|
+
Args:
|
|
761
|
+
request (Optional[Union[google.maps.routeoptimization_v1.types.OptimizeToursUriRequest, dict]]):
|
|
762
|
+
The request object. A request used by the ``OptimizeToursUri`` method.
|
|
763
|
+
retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any,
|
|
764
|
+
should be retried.
|
|
765
|
+
timeout (float): The timeout for this request.
|
|
766
|
+
metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
|
|
767
|
+
sent along with the request as metadata. Normally, each value must be of type `str`,
|
|
768
|
+
but for metadata keys ending with the suffix `-bin`, the corresponding values must
|
|
769
|
+
be of type `bytes`.
|
|
770
|
+
|
|
771
|
+
Returns:
|
|
772
|
+
google.api_core.operation_async.AsyncOperation:
|
|
773
|
+
An object representing a long-running operation.
|
|
774
|
+
|
|
775
|
+
The result type for the operation will be
|
|
776
|
+
:class:`google.maps.routeoptimization_v1.types.OptimizeToursUriResponse`
|
|
777
|
+
A response returned by the OptimizeToursUri method.
|
|
778
|
+
|
|
779
|
+
"""
|
|
780
|
+
# Create or coerce a protobuf request object.
|
|
781
|
+
# - Use the request object if provided (there's no risk of modifying the input as
|
|
782
|
+
# there are no flattened fields), or create one.
|
|
783
|
+
if not isinstance(request, route_optimization_service.OptimizeToursUriRequest):
|
|
784
|
+
request = route_optimization_service.OptimizeToursUriRequest(request)
|
|
785
|
+
|
|
786
|
+
# Wrap the RPC method; this adds retry and timeout information,
|
|
787
|
+
# and friendly error handling.
|
|
788
|
+
rpc = self._client._transport._wrapped_methods[
|
|
789
|
+
self._client._transport.optimize_tours_uri
|
|
790
|
+
]
|
|
791
|
+
|
|
792
|
+
# Certain fields should be provided within the metadata header;
|
|
793
|
+
# add these here.
|
|
794
|
+
metadata = tuple(metadata) + (
|
|
795
|
+
gapic_v1.routing_header.to_grpc_metadata((("parent", request.parent),)),
|
|
796
|
+
)
|
|
797
|
+
|
|
798
|
+
# Validate the universe domain.
|
|
799
|
+
self._client._validate_universe_domain()
|
|
800
|
+
|
|
801
|
+
# Send the request.
|
|
802
|
+
response = await rpc(
|
|
803
|
+
request,
|
|
804
|
+
retry=retry,
|
|
805
|
+
timeout=timeout,
|
|
806
|
+
metadata=metadata,
|
|
807
|
+
)
|
|
808
|
+
|
|
809
|
+
# Wrap the response in an operation future.
|
|
810
|
+
response = operation_async.from_gapic(
|
|
811
|
+
response,
|
|
812
|
+
self._client._transport.operations_client,
|
|
813
|
+
route_optimization_service.OptimizeToursUriResponse,
|
|
814
|
+
metadata_type=route_optimization_service.OptimizeToursUriMetadata,
|
|
815
|
+
)
|
|
816
|
+
|
|
817
|
+
# Done; return the response.
|
|
818
|
+
return response
|
|
819
|
+
|
|
567
820
|
async def get_operation(
|
|
568
821
|
self,
|
|
569
822
|
request: Optional[operations_pb2.GetOperationRequest] = None,
|