nextroute 1.8.1__cp38-cp38-win_amd64.whl → 1.9.0__cp38-cp38-win_amd64.whl

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.

Potentially problematic release.


This version of nextroute might be problematic. Click here for more details.

nextroute/__about__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  # © 2019-present nextmv.io inc
2
2
 
3
- __version__ = "v1.8.1"
3
+ __version__ = "v1.9.0"
Binary file
nextroute/schema/input.py CHANGED
@@ -4,7 +4,8 @@
4
4
  Defines the input class.
5
5
  """
6
6
 
7
- from typing import Any, List, Optional
7
+ from datetime import datetime
8
+ from typing import Any, List, Optional, Union
8
9
 
9
10
  from nextroute.base_model import BaseModel
10
11
  from nextroute.schema.stop import AlternateStop, Stop, StopDefaults
@@ -29,6 +30,26 @@ class DurationGroup(BaseModel):
29
30
  group: List[str]
30
31
  """Stop IDs contained in the group."""
31
32
 
33
+ class MatrixTimeFrame(BaseModel):
34
+ """Represents a time-dependent duration matrix or scaling factor."""
35
+ start_time: datetime
36
+ """Start time of the time frame."""
37
+ end_time: datetime
38
+ """End time of the time frame."""
39
+ matrix: Optional[List[List[float]]] = None
40
+ """Duration matrix for the time frame."""
41
+ scaling_factor: Optional[float] = None
42
+ """Scaling factor for the time frame."""
43
+
44
+ class TimeDependentMatrix(BaseModel):
45
+ """Represents time-dependent duration matrices."""
46
+ vehicle_ids: Optional[List[str]] = None
47
+ """Vehicle IDs for which the duration matrix is defined."""
48
+ default_matrix: List[List[float]]
49
+ """Default duration matrix."""
50
+ matrix_time_frames: Optional[List[MatrixTimeFrame]] = None
51
+ """Time-dependent duration matrices."""
52
+
32
53
 
33
54
  class Input(BaseModel):
34
55
  """Input schema for Nextroute."""
@@ -48,8 +69,8 @@ class Input(BaseModel):
48
69
  """Matrix of travel distances in meters between stops."""
49
70
  duratrion_groups: Optional[List[DurationGroup]] = None
50
71
  """Duration in seconds added when approaching the group."""
51
- duration_matrix: Optional[List[List[float]]] = None
52
- """Matrix of travel durations in seconds between stops."""
72
+ duration_matrix: Optional[Union[List[List[float]], TimeDependentMatrix, List[TimeDependentMatrix]]] = None
73
+ """Matrix of travel durations in seconds between stops as a single matrix or duration matrices."""
53
74
  options: Optional[Any] = None
54
75
  """Arbitrary options."""
55
76
  stop_groups: Optional[List[List[str]]] = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nextroute
3
- Version: 1.8.1
3
+ Version: 1.9.0
4
4
  Summary: Nextroute is an engine for solving Vehicle Routing Problems (VRPs).
5
5
  Author-email: Nextmv <tech@nextmv.io>
6
6
  Maintainer-email: Nextmv <tech@nextmv.io>
@@ -197,7 +197,7 @@ file.
197
197
 
198
198
  For further information on how to get started, features, deployment, etc.,
199
199
  please refer to the [official
200
- documentation](https://www.nextmv.io/docs/vehicle-routing).
200
+ documentation](https://www.nextmv.io/docs/vehicle-routing/get-started).
201
201
 
202
202
  ### Go
203
203
 
@@ -1,14 +1,14 @@
1
- nextroute/__about__.py,sha256=d2W5t5QTmf4vv5NajP6xobqJfzI27C7JeB0Enc5CIBw,59
1
+ nextroute/__about__.py,sha256=V_hy9N8g9hzjcSW37e3ZsZToNcs9Y-TXiHXrRNe5lJ4,59
2
2
  nextroute/__init__.py,sha256=Ai-wDfMB-Yd8WsI42vjuQKlNOA7bYZpqTIArtXWfdPY,547
3
3
  nextroute/base_model.py,sha256=dKv6OdyXcZm83NhDAS1eTKMDUyKJVUP6EKX8cDJDe_M,565
4
4
  nextroute/options.py,sha256=7bq_397cWAGGkPhTRWxHzePR8PBftk19IUM6mKfYpUw,7753
5
5
  nextroute/solve.py,sha256=UWBKh1884aper0dAK--cDsbfNuuc8TJGE4tfhom9844,4337
6
6
  nextroute/version.py,sha256=2vL_WuVQA76en7WJTbof4cJbHOTljpCA5nL7DGbgFvU,337
7
- nextroute/bin/nextroute.exe,sha256=sMMaqPuTduaghOy5aWCZ2f7FvokIpQgHA8YpSJmqWVQ,13404672
7
+ nextroute/bin/nextroute.exe,sha256=774sSFOSYGmwUHrYxPijyiX84GUka0s8LRu4_S7_3is,14219264
8
8
  nextroute/check/__init__.py,sha256=KCNtywi2e8jQeDyfEkg_Vo4Mu11lYC2CxwntC1JEZjY,1331
9
9
  nextroute/check/schema.py,sha256=ue5Xb4gohz_DQSHWZ61i-IK6DRMppsVYKmilcsxcs9Q,5998
10
10
  nextroute/schema/__init__.py,sha256=AHzMPxEel3udVhKzVRwV3642qLarZohfc31xhovofDw,1196
11
- nextroute/schema/input.py,sha256=lAzGnRhEuN1w6UkirL9P7caxkgtXcX-2Tog-uXdR_ik,1919
11
+ nextroute/schema/input.py,sha256=ldontmU3afYkpqdaJCG_czfCL6ASG2gsADQfOhVhNno,2869
12
12
  nextroute/schema/location.py,sha256=n1ZQAc_FQo2-fL1JwKKQmgCSEFP0wkTE_w3_6QEmxOE,317
13
13
  nextroute/schema/output.py,sha256=46nvLAw3QXSgYUCVE13_fGn5wHXpDpGZGuf7YxsLmmk,4950
14
14
  nextroute/schema/statistics.py,sha256=ICbCa7V0X2bHGEj_yDMq6NV9euG1qOYOYNH-ZosEzto,3749
@@ -19,8 +19,8 @@ tests/schema/test_input.py,sha256=qYdr9d5WDoBFcTK1JKtY12akB_Z3L7HpxOD2dsCH38U,19
19
19
  tests/schema/test_output.py,sha256=L_zeFroI_0wpwsxvhfL69N-kmcYB2Gu9IktAmq4vQIY,11897
20
20
  tests/solve_golden/__init__.py,sha256=UrdqXQHUHkSG7vHemeoeJtUm2_afa6-KFo0Fs2l9zG8,33
21
21
  tests/solve_golden/main.py,sha256=b8NImHVUqIqQFaDV-R8OUCo0VWeDCn8tYC4WC9iM0_E,1591
22
- nextroute-1.8.1.dist-info/LICENSE,sha256=4jrNU-0mMZDGEdwQi9vJ7w-Ep59Kqc7XcOLhDkQbCnM,4194
23
- nextroute-1.8.1.dist-info/METADATA,sha256=aD1bFPfhl2BzrphJcPzPxWo7jujpOIsw4YCJ4ZpkK9o,15806
24
- nextroute-1.8.1.dist-info/WHEEL,sha256=w_c9dOpAAZpnfYJ_Ft-xCBPW5yPIXAfuDRSG7Fs5oPg,100
25
- nextroute-1.8.1.dist-info/top_level.txt,sha256=KNsuo1j7tr-QvBFS_ELmo68OmJ-orEZiOXqstGLJDXA,16
26
- nextroute-1.8.1.dist-info/RECORD,,
22
+ nextroute-1.9.0.dist-info/LICENSE,sha256=4jrNU-0mMZDGEdwQi9vJ7w-Ep59Kqc7XcOLhDkQbCnM,4194
23
+ nextroute-1.9.0.dist-info/METADATA,sha256=b-hkRia368n9c5WBtW44wVHgh7H8DqDyxIHpJXGoTS0,15818
24
+ nextroute-1.9.0.dist-info/WHEEL,sha256=w_c9dOpAAZpnfYJ_Ft-xCBPW5yPIXAfuDRSG7Fs5oPg,100
25
+ nextroute-1.9.0.dist-info/top_level.txt,sha256=KNsuo1j7tr-QvBFS_ELmo68OmJ-orEZiOXqstGLJDXA,16
26
+ nextroute-1.9.0.dist-info/RECORD,,